From 19a50aa4f6e717aed0b92727bfb395954b85a98c Mon Sep 17 00:00:00 2001 From: l-kent Date: Mon, 9 Oct 2023 09:55:23 +1000 Subject: [PATCH 1/7] add read-only memory sections to pre/post-conditions for all procedures, add useArrayAxioms flag to test suite, update readme with information about that --- readme.md | 9 +- src/main/scala/ir/Program.scala | 70 +++++----- src/main/scala/translating/BAPToIR.scala | 2 +- src/main/scala/translating/IRToBoogie.scala | 143 ++------------------ src/main/scala/util/RunUtils.scala | 3 +- src/test/scala/SystemTests.scala | 2 +- 6 files changed, 50 insertions(+), 179 deletions(-) diff --git a/readme.md b/readme.md index a191e8911..fefc02ebf 100644 --- a/readme.md +++ b/readme.md @@ -197,16 +197,15 @@ The binary (i.e `*.out`) can then be generated from a C source file using: See [src/test/correct/liftone.sh](https://github.com/UQ-PAC/bil-to-boogie-translator/blob/main/src/test/correct/liftone.sh) for more examples for flag combinations that work. -## Verifying the generated boogie (the programming language), by running boogie (the progam) on the boogie (the program) +## Verifying the generated Boogie file [Boogie](https://github.com/boogie-org/boogie#installation) can be installed by following the instructions in the given link. -Boogie can be run on the output `*.bpl` file with the command `boogie *.bpl`. +Boogie can be run on the output `*.bpl` file with the command `boogie \useArrayAxioms *.bpl`. -A recent boogie version is needed, for example `Boogie program verifier version 2.4.1.10503, Copyright (c) 2003-2014, Microsoft.`. +It is recommended to use Boogie version 3.0.4 and Z3 version 4.8.8 (which is recommended by Boogie). Other versions and combinations may not have been tested. -With older versions and recent versions of z3 (e.g. `Z3 version 4.8.12 - 64 bit`), Z3 emits warnings about `model_compress`, since the -parameter name was changed. This does not prevent it from working however. +The `\useArrayAxioms` flag is necessary for Boogie versions 2.16.8 and greater; for earlier versions it can be removed. Boogie can be installed through dotnet and requires dotnet 6. diff --git a/src/main/scala/ir/Program.scala b/src/main/scala/ir/Program.scala index 4aeff086a..c33c2445d 100644 --- a/src/main/scala/ir/Program.scala +++ b/src/main/scala/ir/Program.scala @@ -2,9 +2,10 @@ package ir import scala.collection.mutable.ArrayBuffer import scala.collection.mutable -import boogie._ +import boogie.* +import analysis.BitVectorEval -class Program(var procedures: ArrayBuffer[Procedure], var initialMemory: ArrayBuffer[MemorySection], var mainProcedure: Procedure) { +class Program(var procedures: ArrayBuffer[Procedure], var mainProcedure: Procedure, var initialMemory: ArrayBuffer[MemorySection], var readOnlyMemory: ArrayBuffer[MemorySection]) { def stripUnreachableFunctions(): Unit = { val functionToChildren = procedures.map(f => f.name -> f.calls.map(_.name)).toMap @@ -53,48 +54,35 @@ class Program(var procedures: ArrayBuffer[Procedure], var initialMemory: ArrayBu } } } + } + def stackIdentification(): Unit = { + for (p <- procedures) { + p.stackIdentification() + } + } + def determineRelevantMemory(rela_dyn: Map[BigInt, BigInt]): Unit = { + val initialMemoryNew = ArrayBuffer[MemorySection]() + val rodata = initialMemory.collect { case s if s.name == ".rodata" => s } + readOnlyMemory.addAll(rodata) - /* - val visited: mutable.Set[Procedure] = mutable.Set() - val waiting: mutable.Set[Procedure] = mutable.Set() - val loops: mutable.Set[Set[Procedure]] = mutable.Set() - // need to add support for back edges - do a fixed point on them so all procedures in a loop have the same modifies - DFSVisit(mainProcedure, Vector(mainProcedure)) - def DFSVisit(p: Procedure, path: Vector[Procedure]): Vector[Procedure] = { - val children = procToCalls(p) - if (visited.contains(p)) { - return path - } - if (waiting.contains(p)) { - val loopPath = path.slice(path.indexOf(p), path.size) - loops.add(loopPath.toSet) - return path - //throw new Exception("back edge in intraprocedural control flow graph, not currently supported") - } - waiting.add(p) - p.modifies.addAll(procToModifies(p)) - for (child <- children) { - if (child != p) { - DFSVisit(child, path :+ p) - } - } - for (child <- children) { - p.modifies.addAll(child.modifies) + val data = initialMemory.collect { case s if s.name == ".data" => s } + initialMemoryNew.addAll(data) + + // assuming little endian, adding the rela_dyn offset/address pairs like this is crude but is simplest for now + for ((offset, address) <- rela_dyn) { + val addressBV = BitVecLiteral(address, 64) + val bytes = for (i <- 0 to 7) yield { + val low = i * 8 + val high = low + 8 + BitVectorEval.boogie_extract(high, low, addressBV) } - waiting.remove(p) - visited.add(p) - path :+ p + readOnlyMemory.append(MemorySection(s".got_$offset", offset.intValue, 8, bytes)) } - */ - } - def stackIdentification(): Unit = { - for (p <- procedures) { - p.stackIdentification() - } + initialMemory = initialMemoryNew } @@ -181,4 +169,10 @@ class Parameter(var name: String, var size: Int, var value: Register) { def toGamma: BVariable = BParam(s"Gamma_$name", BoolBType) } -case class MemorySection(name: String, address: Int, size: Int, bytes: Seq[Literal]) +/** + * @param name name + * @param address initial offset of memory section + * @param size number of bytes + * @param bytes sequence of bytes represented by BitVecLiterals of size 8 + */ +case class MemorySection(name: String, address: Int, size: Int, bytes: Seq[BitVecLiteral]) diff --git a/src/main/scala/translating/BAPToIR.scala b/src/main/scala/translating/BAPToIR.scala index 147348d18..70aad7e7e 100644 --- a/src/main/scala/translating/BAPToIR.scala +++ b/src/main/scala/translating/BAPToIR.scala @@ -56,7 +56,7 @@ class BAPToIR(var program: BAPProgram, mainAddress: Int) { memorySections.append(MemorySection(m.name, m.address, m.size, bytes)) } - Program(procedures, memorySections, mainProcedure.get) + Program(procedures, mainProcedure.get, memorySections, ArrayBuffer()) } private def translate(s: BAPStatement) = s match { diff --git a/src/main/scala/translating/IRToBoogie.scala b/src/main/scala/translating/IRToBoogie.scala index ce24b3a2e..ecb69270b 100644 --- a/src/main/scala/translating/IRToBoogie.scala +++ b/src/main/scala/translating/IRToBoogie.scala @@ -30,7 +30,8 @@ class IRToBoogie(var program: Program, var spec: Specification) { }).flatten.toSet ++ Set(BVariable("R" + 31, BitVecBType(64), Scope.Global), BVariable("Gamma_R" + 31, BoolBType, Scope.Global)) def translate: BProgram = { - val procedures = program.procedures.map(f => translateProcedure(f)) + val readOnlyMemory = memoryToCondition(program.readOnlyMemory) + val procedures = program.procedures.map(f => translateProcedure(f, readOnlyMemory)) val defaultGlobals = List(BVarDecl(mem), BVarDecl(Gamma_mem)) val globalDecls = (procedures.flatMap(p => p.globals).map(b => BVarDecl(b)) ++ defaultGlobals).distinct.sorted.toList @@ -38,7 +39,7 @@ class IRToBoogie(var program: Program, var spec: Specification) { val guaranteeReflexive = BProcedure("guarantee_reflexive", List(), List(), List(), List(), List(), List(), List(), List(), Seq(mem, Gamma_mem), guaranteesReflexive.map(g => BAssert(g))) - val rgProcs = genRely(relies) :+ guaranteeReflexive + val rgProcs = genRely(relies, readOnlyMemory) :+ guaranteeReflexive val functionsUsed1 = procedures.flatMap(p => p.functionOps).toSet ++ rgProcs.flatMap(p => p.functionOps).toSet ++ directFunctions val functionsUsed2 = functionsUsed1.map(p => functionOpToDefinition(p)) @@ -49,7 +50,7 @@ class IRToBoogie(var program: Program, var spec: Specification) { BProgram(declarations) } - def genRely(relies: List[BExpr]): List[BProcedure] = { + def genRely(relies: List[BExpr], readOnlyMemory: List[BExpr]): List[BProcedure] = { val reliesUsed = if (relies.nonEmpty) { relies } else { @@ -59,7 +60,7 @@ class IRToBoogie(var program: Program, var spec: Specification) { val i = BVariable("i", BitVecBType(64), Scope.Local) val rely2 = ForAll(List(i), BinaryBExpr(BoolIMPLIES, BinaryBExpr(BVEQ, MapAccess(mem, i), Old(MapAccess(mem, i))), BinaryBExpr(BVEQ, MapAccess(Gamma_mem, i), Old(MapAccess(Gamma_mem, i))))) val relyEnsures = List(rely2) ++ reliesUsed - val relyProc = BProcedure("rely", List(), List(), relyEnsures, List(), List(), List(), List(), List(), Seq(mem, Gamma_mem), List()) + val relyProc = BProcedure("rely", List(), List(), relyEnsures, List(), List(), List(), readOnlyMemory, List(), Seq(mem, Gamma_mem), List()) val relyTransitive = BProcedure("rely_transitive", List(), List(), reliesUsed, List(), List(), List(), List(), List(), Seq(mem, Gamma_mem), List(ProcedureCall("rely", List(), List(), List(mem, Gamma_mem)), ProcedureCall("rely", List(), List(), List(mem, Gamma_mem)))) val relyReflexive = BProcedure("rely_reflexive", List(), List(), List(), List(), List(), List(), List(), List(), Seq(), reliesReflexive.map(r => BAssert(r))) List(relyProc, relyTransitive, relyReflexive) @@ -194,41 +195,16 @@ class IRToBoogie(var program: Program, var spec: Specification) { } } - def translateProcedure(p: Procedure): BProcedure = { - val in = p.in.flatMap(i => List(i.toBoogie, i.toGamma)) - - var outRegisters: Set[Variable] = Set() - - val out = (for (o <- p.out) yield { - if (outRegisters.contains(o.value)) { - List() - } else { - outRegisters = outRegisters + o.value - List(o.toBoogie, o.toGamma) - } - }).flatten - - outRegisters = Set() - val returns = (for (o <- p.out) yield { - if (outRegisters.contains(o.value)) { - List() - } else { - outRegisters = outRegisters + o.value - List(outParamToAssign(o)) - } - }).flatten.toList - + def translateProcedure(p: Procedure, readOnlyMemory: List[BExpr]): BProcedure = { val body = p.blocks.map(b => translateBlock(b)) val modifies: Seq[BVar] = p.modifies.flatMap { case m: Memory => Seq(m.toBoogie, m.toGamma) case r: Register => Seq(r.toBoogie, r.toGamma) }.toSeq.sorted - //val modifies = Seq(mem, Gamma_mem, stack, Gamma_stack) // TODO placeholder until proper modifies analysis val modifiedPreserve = modifies.collect { case m: BVar if modifiedCheck.contains(m) => m } val modifiedPreserveEnsures: List[BExpr] = modifiedPreserve.map(m => BinaryBExpr(BoolEQ, m, Old(m))).toList - val procRequires: List[BExpr] = requires.getOrElse(p.name, List()) val procEnsures: List[BExpr] = ensures.getOrElse(p.name, List()) @@ -236,27 +212,18 @@ class IRToBoogie(var program: Program, var spec: Specification) { val procEnsuresDirect: List[String] = ensuresDirect.getOrElse(p.name, List()) val freeRequires: List[BExpr] = if (p == program.mainProcedure) { - initialiseMemory + memoryToCondition(program.initialMemory) ++ readOnlyMemory } else { - List() + readOnlyMemory } - val freeEnsures = modifiedPreserveEnsures - - val inInits = if (body.isEmpty) { - List() - } else { - p.in.map(i => inParamToAssign(i)).toList - } + val freeEnsures = modifiedPreserveEnsures ++ readOnlyMemory BProcedure(p.name, List(), List(), procEnsures, procRequires, procEnsuresDirect, procRequiresDirect, freeEnsures, freeRequires, modifies, body.toList) } - private def initialiseMemory: List[BExpr] = { - val dataSections = program.initialMemory.collect { - case s if s.name == ".data" || s.name == ".rodata" || s.name == ".got" => s - } - val sections = dataSections.flatMap { s => + private def memoryToCondition(memory: ArrayBuffer[MemorySection]): List[BExpr] = { + val sections = memory.flatMap { s => for (b <- s.bytes.indices) yield { BinaryBExpr(BVEQ, BMemoryLoad(mem, BitVecBLiteral(s.address + b, 64), Endian.LittleEndian, 8), s.bytes(b).toBoogie) } @@ -264,36 +231,6 @@ class IRToBoogie(var program: Program, var spec: Specification) { sections.toList } - private def outParamToAssign(p: Parameter): AssignCmd = { - val param = BParam(p.name, BitVecBType(p.size)) - val register = p.value.toBoogie - val paramGamma = BParam(s"Gamma_${p.name}", BoolBType) - val registerGamma = p.value.toGamma - val assigned = if (p.size > p.value.size) { - BVZeroExtend(p.size - p.value.size, register) - } else if (p.size < p.value.size) { - BVExtract(p.size, 0, register) - } else { - register - } - AssignCmd(List(param, paramGamma), List(assigned, registerGamma)) - } - - private def inParamToAssign(p: Parameter): AssignCmd = { - val param = BParam(p.name, BitVecBType(p.size)) - val register = p.value.toBoogie - val paramGamma = BParam(s"Gamma_${p.name}", BoolBType) - val registerGamma = p.value.toGamma - val assigned = if (p.size > p.value.size) { - BVExtract(p.value.size, 0, param) - } else if (p.size < p.value.size) { - BVZeroExtend(p.value.size - p.size, param) - } else { - param - } - AssignCmd(List(register, registerGamma), List(assigned, paramGamma)) - } - def translateBlock(b: Block): BBlock = { val cmds = b.statements.flatMap(s => translate(s)) ++ b.jumps.flatMap(j => translate(j)) BBlock(b.label, cmds.toList) @@ -389,62 +326,4 @@ class IRToBoogie(var program: Program, var spec: Specification) { val body = a.body.toBoogie List(BAssert(body, a.comment)) } - - def coerceProcedureCall(target: Procedure): List[BCmd] = { - val params = for (i <- target.in) yield { - val register = i.value.toBoogie - val registerGamma = i.value.toGamma - if (i.value.size > i.size) { - List(BVExtract(i.size, 0, register), registerGamma) - } else if (i.value.size < i.size) { - List(BVZeroExtend(i.size - i.value.size, register), registerGamma) - } else { - List(register, registerGamma) - } - } - var outUsedRegisters: Set[Variable] = Set() - var outIndices: Set[Int] = Set() - for (o <- target.out.indices) { - if (!outUsedRegisters.contains(target.out(o).value)) { - outIndices = outIndices + o - outUsedRegisters = outUsedRegisters + target.out(o).value - } - } - - val outTemp = for (o <- target.out.indices) yield { - BVariable(s"#temp$o", BitVecBType(target.out(o).size), Scope.Local) - } - val outTempGamma = for (o <- target.out.indices) yield { - BVariable(s"Gamma_#temp$o", BoolBType, Scope.Local) - } - val outRegisters = target.out.map(o => o.value.toBoogie) - val outRegisterGammas = target.out.map(o => o.value.toGamma) - val outAssigned = for (o <- target.out.indices if target.out(o).value.size != target.out(o).size && outIndices.contains(o)) yield { - val regSize = target.out(o).value.size - val paramSize = target.out(o).size - if (regSize > paramSize) { - AssignCmd(List(outRegisters(o), outRegisterGammas(o)), List(BVZeroExtend(regSize - paramSize, outTemp(o)), outTempGamma(o))) - } else { - AssignCmd(List(outRegisters(o), outRegisterGammas(o)), List(BVExtract(regSize, 0, outTemp(o)), outTempGamma(o))) - } - } - - val returned = for (o <- target.out.indices if outIndices.contains(o)) yield { - if (target.out(o).value.size == target.out(o).size) { - List(outRegisters(o), outRegisterGammas(o)) - } else { - List(outTemp(o), outTempGamma(o)) - } - } - List(ProcedureCall(target.name, returned.flatten.toList, params.flatten.toList, List())) ++ outAssigned - } - - /* - private val reserved = Set("free") - - def avoidReserved(program: BProgram): BProgram = { - program.replaceReserved(reserved) - } - */ - } diff --git a/src/main/scala/util/RunUtils.scala b/src/main/scala/util/RunUtils.scala index 20c557a02..4e725a606 100644 --- a/src/main/scala/util/RunUtils.scala +++ b/src/main/scala/util/RunUtils.scala @@ -85,8 +85,7 @@ object RunUtils { } } - - + IRProgram.determineRelevantMemory(globalOffsets) IRProgram.stripUnreachableFunctions() IRProgram.stackIdentification() IRProgram.setModifies() diff --git a/src/test/scala/SystemTests.scala b/src/test/scala/SystemTests.scala index 6f928ea56..7d5317598 100644 --- a/src/test/scala/SystemTests.scala +++ b/src/test/scala/SystemTests.scala @@ -44,7 +44,7 @@ class SystemTests extends AnyFunSuite { Main.main(Array("--adt", ADTPath, "--relf", RELFPath, "--output", outPath)) } println(outPath) - val boogieResult = Seq("boogie", "/timeLimit:10", "/printVerifiedProceduresCount:0", outPath).!! + val boogieResult = Seq("boogie", "/timeLimit:10", "/printVerifiedProceduresCount:0", "/useArrayAxioms", outPath).!! val resultPath = variationPath + "_result.txt" log(boogieResult, resultPath) val verified = boogieResult.strip().equals("Boogie program verifier finished with 0 errors") From a9c156af8a9468f12ab73faaf2021e51cdbb0362 Mon Sep 17 00:00:00 2001 From: l-kent Date: Mon, 9 Oct 2023 10:12:01 +1000 Subject: [PATCH 2/7] don't add ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))) to empty relies --- src/main/scala/translating/IRToBoogie.scala | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main/scala/translating/IRToBoogie.scala b/src/main/scala/translating/IRToBoogie.scala index ecb69270b..3f754cd5f 100644 --- a/src/main/scala/translating/IRToBoogie.scala +++ b/src/main/scala/translating/IRToBoogie.scala @@ -57,9 +57,13 @@ class IRToBoogie(var program: Program, var spec: Specification) { // default case where no rely is given - rely on no external changes List(BinaryBExpr(BVEQ, mem, Old(mem)), BinaryBExpr(BVEQ, Gamma_mem, Old(Gamma_mem))) } - val i = BVariable("i", BitVecBType(64), Scope.Local) - val rely2 = ForAll(List(i), BinaryBExpr(BoolIMPLIES, BinaryBExpr(BVEQ, MapAccess(mem, i), Old(MapAccess(mem, i))), BinaryBExpr(BVEQ, MapAccess(Gamma_mem, i), Old(MapAccess(Gamma_mem, i))))) - val relyEnsures = List(rely2) ++ reliesUsed + val relyEnsures = if (relies.nonEmpty) { + val i = BVariable("i", BitVecBType(64), Scope.Local) + val rely2 = ForAll(List(i), BinaryBExpr(BoolIMPLIES, BinaryBExpr(BVEQ, MapAccess(mem, i), Old(MapAccess(mem, i))), BinaryBExpr(BVEQ, MapAccess(Gamma_mem, i), Old(MapAccess(Gamma_mem, i))))) + List(rely2) ++ reliesUsed + } else { + reliesUsed + } val relyProc = BProcedure("rely", List(), List(), relyEnsures, List(), List(), List(), readOnlyMemory, List(), Seq(mem, Gamma_mem), List()) val relyTransitive = BProcedure("rely_transitive", List(), List(), reliesUsed, List(), List(), List(), List(), List(), Seq(mem, Gamma_mem), List(ProcedureCall("rely", List(), List(), List(mem, Gamma_mem)), ProcedureCall("rely", List(), List(), List(mem, Gamma_mem)))) val relyReflexive = BProcedure("rely_reflexive", List(), List(), List(), List(), List(), List(), List(), List(), Seq(), reliesReflexive.map(r => BAssert(r))) From 9208d1d2fb6da509a3d23f0f2eda165ab0c463a1 Mon Sep 17 00:00:00 2001 From: l-kent Date: Mon, 9 Oct 2023 10:26:37 +1000 Subject: [PATCH 3/7] update expected files --- .../clang/arrays_simple.expected | 153 +- .../clang_O2/arrays_simple.expected | 153 +- .../arrays_simple.expected | 153 +- .../clang_pic/arrays_simple.expected | 153 +- .../gcc_O2/arrays_simple.expected | 209 ++- .../clang/basic_arrays_read.expected | 152 +- .../clang_O2/basic_arrays_read.expected | 152 +- .../basic_arrays_read.expected | 152 +- .../clang_pic/basic_arrays_read.expected | 184 ++- .../gcc/basic_arrays_read.expected | 208 +-- .../gcc_O2/basic_arrays_read.expected | 208 +-- .../basic_arrays_read.expected | 208 +-- .../gcc_pic/basic_arrays_read.expected | 240 ++-- .../clang/basic_arrays_write.expected | 152 +- .../clang_O2/basic_arrays_write.expected | 152 +- .../basic_arrays_write.expected | 152 +- .../clang_pic/basic_arrays_write.expected | 184 ++- .../gcc/basic_arrays_write.expected | 208 +-- .../gcc_O2/basic_arrays_write.expected | 208 +-- .../basic_arrays_write.expected | 208 +-- .../gcc_pic/basic_arrays_write.expected | 240 ++-- .../clang/basic_assign_assign.expected | 152 +- .../clang_O2/basic_assign_assign.expected | 152 +- .../basic_assign_assign.expected | 152 +- .../clang_pic/basic_assign_assign.expected | 184 ++- .../gcc/basic_assign_assign.expected | 208 +-- .../gcc_O2/basic_assign_assign.expected | 208 +-- .../basic_assign_assign.expected | 208 +-- .../gcc_pic/basic_assign_assign.expected | 248 ++-- .../clang/basic_assign_increment.expected | 152 +- .../clang_O2/basic_assign_increment.expected | 152 +- .../basic_assign_increment.expected | 152 +- .../clang_pic/basic_assign_increment.expected | 184 ++- .../gcc/basic_assign_increment.expected | 208 +-- .../gcc_O2/basic_assign_increment.expected | 208 +-- .../basic_assign_increment.expected | 208 +-- .../gcc_pic/basic_assign_increment.expected | 248 ++-- .../clang/basic_function_call_caller.expected | 224 ++- .../basic_function_call_caller.expected | 152 +- .../basic_function_call_caller.expected | 224 ++- .../gcc/basic_function_call_caller.expected | 280 ++-- .../basic_function_call_caller.expected | 208 +-- .../basic_function_call_caller.expected | 280 ++-- .../clang/basic_function_call_reader.expected | 152 +- .../basic_function_call_reader.expected | 152 +- .../basic_function_call_reader.expected | 152 +- .../basic_function_call_reader.expected | 216 ++- .../gcc/basic_function_call_reader.expected | 208 +-- .../basic_function_call_reader.expected | 208 +-- .../basic_function_call_reader.expected | 208 +-- .../basic_function_call_reader.expected | 272 ++-- .../clang/basic_lock_read.expected | 152 +- .../clang_O2/basic_lock_read.expected | 152 +- .../basic_lock_read.expected | 152 +- .../clang_pic/basic_lock_read.expected | 216 ++- .../gcc/basic_lock_read.expected | 208 +-- .../gcc_O2/basic_lock_read.expected | 208 +-- .../basic_lock_read.expected | 208 +-- .../clang/basic_lock_security_read.expected | 152 +- .../basic_lock_security_read.expected | 152 +- .../basic_lock_security_read.expected | 152 +- .../basic_lock_security_read.expected | 216 ++- .../gcc/basic_lock_security_read.expected | 208 +-- .../gcc_O2/basic_lock_security_read.expected | 208 +-- .../basic_lock_security_read.expected | 208 +-- .../gcc_pic/basic_lock_security_read.expected | 280 ++-- .../clang/basic_lock_security_write.expected | 152 +- .../basic_lock_security_write.expected | 152 +- .../basic_lock_security_write.expected | 152 +- .../gcc/basic_lock_security_write.expected | 208 +-- .../gcc_O2/basic_lock_security_write.expected | 208 +-- .../basic_lock_security_write.expected | 208 +-- .../clang/basic_lock_unlock.expected | 152 +- .../clang_O2/basic_lock_unlock.expected | 152 +- .../basic_lock_unlock.expected | 152 +- .../clang_pic/basic_lock_unlock.expected | 216 ++- .../gcc/basic_lock_unlock.expected | 208 +-- .../gcc_O2/basic_lock_unlock.expected | 208 +-- .../basic_lock_unlock.expected | 208 +-- .../gcc_pic/basic_lock_unlock.expected | 280 ++-- .../clang/basic_loop_assign.expected | 152 +- .../clang_O2/basic_loop_assign.expected | 152 +- .../basic_loop_assign.expected | 152 +- .../clang_pic/basic_loop_assign.expected | 184 ++- .../gcc/basic_loop_assign.expected | 208 +-- .../gcc_O2/basic_loop_assign.expected | 208 +-- .../basic_loop_assign.expected | 208 +-- .../gcc_pic/basic_loop_assign.expected | 248 ++-- .../clang/basic_operation_evaluation.expected | 153 +- .../basic_operation_evaluation.expected | 153 +- .../basic_operation_evaluation.expected | 153 +- .../basic_operation_evaluation.expected | 153 +- .../gcc/basic_operation_evaluation.expected | 209 ++- .../basic_operation_evaluation.expected | 209 ++- .../basic_operation_evaluation.expected | 209 ++- .../basic_operation_evaluation.expected | 209 ++- .../clang/basic_sec_policy_read.expected | 152 +- .../clang_O2/basic_sec_policy_read.expected | 152 +- .../basic_sec_policy_read.expected | 152 +- .../clang_pic/basic_sec_policy_read.expected | 216 ++- .../gcc/basic_sec_policy_read.expected | 208 +-- .../gcc_O2/basic_sec_policy_read.expected | 208 +-- .../basic_sec_policy_read.expected | 208 +-- .../gcc_pic/basic_sec_policy_read.expected | 280 ++-- .../clang/basic_sec_policy_write.expected | 152 +- .../clang_O2/basic_sec_policy_write.expected | 152 +- .../basic_sec_policy_write.expected | 152 +- .../gcc/basic_sec_policy_write.expected | 208 +-- .../gcc_O2/basic_sec_policy_write.expected | 208 +-- .../basic_sec_policy_write.expected | 208 +-- .../clang/basicassign_gamma0.expected | 152 +- .../clang_O2/basicassign_gamma0.expected | 152 +- .../basicassign_gamma0.expected | 152 +- .../clang_pic/basicassign_gamma0.expected | 216 ++- .../gcc/basicassign_gamma0.expected | 208 +-- .../gcc_O2/basicassign_gamma0.expected | 208 +-- .../basicassign_gamma0.expected | 208 +-- .../gcc_pic/basicassign_gamma0.expected | 272 ++-- .../basicfree/clang/basicfree.expected | 287 +++- .../basicfree/clang_O2/basicfree.expected | 153 +- .../clang_no_plt_no_pic/basicfree.expected | 287 +++- .../basicfree/clang_pic/basicfree.expected | 287 +++- .../correct/basicfree/gcc/basicfree.expected | 359 +++-- .../basicfree/gcc_O2/basicfree.expected | 209 ++- .../gcc_no_plt_no_pic/basicfree.expected | 359 +++-- .../basicfree/gcc_pic/basicfree.expected | 359 +++-- src/test/correct/cjump/clang/cjump.expected | 153 +- .../correct/cjump/clang_O2/cjump.expected | 153 +- .../cjump/clang_no_plt_no_pic/cjump.expected | 153 +- .../correct/cjump/clang_pic/cjump.expected | 217 ++- src/test/correct/cjump/gcc/cjump.expected | 209 ++- src/test/correct/cjump/gcc_O2/cjump.expected | 209 ++- .../cjump/gcc_no_plt_no_pic/cjump.expected | 209 ++- src/test/correct/cjump/gcc_pic/cjump.expected | 273 ++-- .../correct/function/clang/function.expected | 225 ++- .../function/clang_O2/function.expected | 153 +- .../clang_no_plt_no_pic/function.expected | 225 ++- .../function/clang_pic/function.expected | 311 +++- .../correct/function/gcc/function.expected | 281 ++-- .../correct/function/gcc_O2/function.expected | 209 ++- .../gcc_no_plt_no_pic/function.expected | 281 ++-- .../function/gcc_pic/function.expected | 367 +++-- .../function1/clang/function1.expected | 321 ++++- .../function1/clang_O2/function1.expected | 241 +++- .../clang_no_plt_no_pic/function1.expected | 321 ++++- .../function1/clang_pic/function1.expected | 433 +++++- .../correct/function1/gcc/function1.expected | 409 ++++-- .../function1/gcc_O2/function1.expected | 311 ++-- .../gcc_no_plt_no_pic/function1.expected | 409 ++++-- .../function1/gcc_pic/function1.expected | 537 +++++-- .../clang/functions_with_params.expected | 225 ++- .../clang_O2/functions_with_params.expected | 153 +- .../functions_with_params.expected | 225 ++- .../clang_pic/functions_with_params.expected | 225 ++- .../gcc/functions_with_params.expected | 281 ++-- .../gcc_O2/functions_with_params.expected | 209 ++- .../functions_with_params.expected | 281 ++-- .../gcc_pic/functions_with_params.expected | 281 ++-- .../ifbranches/clang/ifbranches.expected | 153 +- .../ifbranches/clang_O2/ifbranches.expected | 153 +- .../clang_no_plt_no_pic/ifbranches.expected | 153 +- .../ifbranches/clang_pic/ifbranches.expected | 153 +- .../ifbranches/gcc/ifbranches.expected | 209 ++- .../ifbranches/gcc_O2/ifbranches.expected | 209 ++- .../gcc_no_plt_no_pic/ifbranches.expected | 209 ++- .../ifbranches/gcc_pic/ifbranches.expected | 209 ++- .../correct/ifglobal/clang/ifglobal.expected | 153 +- .../ifglobal/clang_O2/ifglobal.expected | 153 +- .../clang_no_plt_no_pic/ifglobal.expected | 153 +- .../ifglobal/clang_pic/ifglobal.expected | 185 ++- .../correct/ifglobal/gcc/ifglobal.expected | 209 ++- .../correct/ifglobal/gcc_O2/ifglobal.expected | 209 ++- .../gcc_no_plt_no_pic/ifglobal.expected | 209 ++- .../ifglobal/gcc_pic/ifglobal.expected | 249 ++-- .../clang/indirect_call.expected | 401 +++++- .../clang_O2/indirect_call.expected | 393 ++++- .../indirect_call.expected | 401 +++++- .../clang_pic/indirect_call.expected | 449 +++++- .../indirect_call/gcc/indirect_call.expected | 481 +++++-- .../gcc_O2/indirect_call.expected | 649 +++++++-- .../gcc_no_plt_no_pic/indirect_call.expected | 481 +++++-- .../gcc_pic/indirect_call.expected | 545 +++++-- .../clang/initialisation.expected | 161 ++- .../clang_O2/initialisation.expected | 161 ++- .../initialisation.expected | 161 ++- .../clang_pic/initialisation.expected | 289 ++-- .../gcc/initialisation.expected | 217 ++- .../gcc_O2/initialisation.expected | 217 ++- .../gcc_no_plt_no_pic/initialisation.expected | 217 ++- .../gcc_pic/initialisation.expected | 345 +++-- .../jumptable/clang/jumptable.expected | 233 ++- .../jumptable/clang_O2/jumptable.expected | 161 ++- .../clang_no_plt_no_pic/jumptable.expected | 305 +++- .../jumptable/clang_pic/jumptable.expected | 265 +++- .../correct/jumptable/gcc/jumptable.expected | 407 ++++-- .../jumptable/gcc_O2/jumptable.expected | 433 ++++-- .../jumptable/gcc_pic/jumptable.expected | 455 ++++-- .../jumptable2/clang/jumptable2.expected | 233 ++- .../jumptable2/clang_O2/jumptable2.expected | 233 ++- .../clang_no_plt_no_pic/jumptable2.expected | 233 ++- .../jumptable2/clang_pic/jumptable2.expected | 297 +++- .../jumptable2/gcc/jumptable2.expected | 289 ++-- .../jumptable2/gcc_O2/jumptable2.expected | 289 ++-- .../gcc_no_plt_no_pic/jumptable2.expected | 289 ++-- .../jumptable2/gcc_pic/jumptable2.expected | 353 +++-- .../clang/malloc_with_local.expected | 839 ++++++++++- .../clang_O2/malloc_with_local.expected | 465 +++++- .../malloc_with_local.expected | 839 ++++++++++- .../clang_pic/malloc_with_local.expected | 839 ++++++++++- .../gcc/malloc_with_local.expected | 1007 +++++++++++-- .../gcc_O2/malloc_with_local.expected | 563 ++++++-- .../malloc_with_local.expected | 1007 +++++++++++-- .../gcc_pic/malloc_with_local.expected | 1007 +++++++++++-- .../clang/malloc_with_local2.expected | 839 ++++++++++- .../clang_O2/malloc_with_local2.expected | 465 +++++- .../malloc_with_local2.expected | 839 ++++++++++- .../clang_pic/malloc_with_local2.expected | 839 ++++++++++- .../gcc/malloc_with_local2.expected | 1007 +++++++++++-- .../gcc_O2/malloc_with_local2.expected | 563 ++++++-- .../malloc_with_local2.expected | 1007 +++++++++++-- .../gcc_pic/malloc_with_local2.expected | 1007 +++++++++++-- .../clang/malloc_with_local3.expected | 1091 +++++++++++++- .../clang_O2/malloc_with_local3.expected | 489 ++++++- .../malloc_with_local3.expected | 1091 +++++++++++++- .../clang_pic/malloc_with_local3.expected | 1091 +++++++++++++- .../gcc/malloc_with_local3.expected | 1261 +++++++++++++++-- .../gcc_O2/malloc_with_local3.expected | 1221 ++++++++++++++-- .../malloc_with_local3.expected | 1261 +++++++++++++++-- .../gcc_pic/malloc_with_local3.expected | 1261 +++++++++++++++-- .../multi_malloc/clang/multi_malloc.expected | 623 +++++++- .../clang_O2/multi_malloc.expected | 357 ++++- .../clang_no_plt_no_pic/multi_malloc.expected | 623 +++++++- .../clang_pic/multi_malloc.expected | 623 +++++++- .../multi_malloc/gcc/multi_malloc.expected | 791 +++++++++-- .../multi_malloc/gcc_O2/multi_malloc.expected | 455 ++++-- .../gcc_no_plt_no_pic/multi_malloc.expected | 791 +++++++++-- .../gcc_pic/multi_malloc.expected | 791 +++++++++-- .../correct/nestedif/clang/nestedif.expected | 153 +- .../nestedif/clang_O2/nestedif.expected | 153 +- .../clang_no_plt_no_pic/nestedif.expected | 153 +- .../nestedif/clang_pic/nestedif.expected | 153 +- .../correct/nestedif/gcc/nestedif.expected | 209 ++- .../correct/nestedif/gcc_O2/nestedif.expected | 209 ++- .../gcc_no_plt_no_pic/nestedif.expected | 209 ++- .../nestedif/gcc_pic/nestedif.expected | 209 ++- .../clang/no_interference_update_x.expected | 152 +- .../no_interference_update_x.expected | 152 +- .../no_interference_update_x.expected | 152 +- .../no_interference_update_x.expected | 184 ++- .../gcc/no_interference_update_x.expected | 208 +-- .../gcc_O2/no_interference_update_x.expected | 208 +-- .../no_interference_update_x.expected | 208 +-- .../gcc_pic/no_interference_update_x.expected | 248 ++-- .../clang/no_interference_update_y.expected | 152 +- .../no_interference_update_y.expected | 152 +- .../no_interference_update_y.expected | 152 +- .../no_interference_update_y.expected | 184 ++- .../gcc/no_interference_update_y.expected | 208 +-- .../gcc_O2/no_interference_update_y.expected | 208 +-- .../no_interference_update_y.expected | 208 +-- .../gcc_pic/no_interference_update_y.expected | 240 ++-- .../secret_write/clang/secret_write.expected | 152 +- .../clang_O2/secret_write.expected | 152 +- .../clang_no_plt_no_pic/secret_write.expected | 152 +- .../secret_write/gcc/secret_write.expected | 208 +-- .../secret_write/gcc_O2/secret_write.expected | 208 +-- .../gcc_no_plt_no_pic/secret_write.expected | 208 +-- .../simple_jump/clang/simple_jump.expected | 153 +- .../simple_jump/clang_O2/simple_jump.expected | 153 +- .../clang_no_plt_no_pic/simple_jump.expected | 153 +- .../clang_pic/simple_jump.expected | 153 +- .../simple_jump/gcc/simple_jump.expected | 209 ++- .../simple_jump/gcc_O2/simple_jump.expected | 209 ++- .../gcc_no_plt_no_pic/simple_jump.expected | 209 ++- .../simple_jump/gcc_pic/simple_jump.expected | 209 ++- src/test/correct/switch/clang/switch.expected | 153 +- .../correct/switch/clang_O2/switch.expected | 153 +- .../clang_no_plt_no_pic/switch.expected | 153 +- .../correct/switch/clang_pic/switch.expected | 153 +- src/test/correct/switch/gcc/switch.expected | 209 ++- .../correct/switch/gcc_O2/switch.expected | 209 ++- .../switch/gcc_no_plt_no_pic/switch.expected | 209 ++- .../correct/switch/gcc_pic/switch.expected | 209 ++- .../correct/switch2/clang_O2/switch2.expected | 153 +- .../correct/switch2/gcc_O2/switch2.expected | 209 ++- .../correct/syscall/clang/syscall.expected | 215 ++- .../correct/syscall/clang_O2/syscall.expected | 153 +- .../clang_no_plt_no_pic/syscall.expected | 215 ++- .../syscall/clang_pic/syscall.expected | 215 ++- src/test/correct/syscall/gcc/syscall.expected | 279 ++-- .../correct/syscall/gcc_O2/syscall.expected | 217 ++- .../gcc_no_plt_no_pic/syscall.expected | 279 ++-- .../correct/syscall/gcc_pic/syscall.expected | 279 ++-- .../clang/using_gamma_conditional.expected | 152 +- .../clang_O2/using_gamma_conditional.expected | 152 +- .../using_gamma_conditional.expected | 152 +- .../using_gamma_conditional.expected | 184 ++- .../gcc/using_gamma_conditional.expected | 208 +-- .../gcc_O2/using_gamma_conditional.expected | 208 +-- .../using_gamma_conditional.expected | 208 +-- .../gcc_pic/using_gamma_conditional.expected | 248 ++-- .../clang/using_gamma_write_z.expected | 152 +- .../clang_O2/using_gamma_write_z.expected | 152 +- .../using_gamma_write_z.expected | 152 +- .../clang_pic/using_gamma_write_z.expected | 184 ++- .../gcc/using_gamma_write_z.expected | 208 +-- .../gcc_O2/using_gamma_write_z.expected | 208 +-- .../using_gamma_write_z.expected | 208 +-- .../gcc_pic/using_gamma_write_z.expected | 248 ++-- .../basicassign/clang/basicassign.expected | 152 +- .../basicassign/clang_O2/basicassign.expected | 152 +- .../clang_no_plt_no_pic/basicassign.expected | 152 +- .../clang_pic/basicassign.expected | 248 +++- .../basicassign/gcc/basicassign.expected | 208 +-- .../basicassign/gcc_O2/basicassign.expected | 208 +-- .../gcc_no_plt_no_pic/basicassign.expected | 208 +-- .../basicassign/gcc_pic/basicassign.expected | 304 ++-- .../basicassign1/clang/basicassign1.expected | 153 +- .../clang_O2/basicassign1.expected | 153 +- .../clang_no_plt_no_pic/basicassign1.expected | 153 +- .../clang_pic/basicassign1.expected | 217 ++- .../basicassign1/gcc/basicassign1.expected | 209 ++- .../basicassign1/gcc_O2/basicassign1.expected | 209 ++- .../gcc_no_plt_no_pic/basicassign1.expected | 209 ++- .../gcc_pic/basicassign1.expected | 273 ++-- .../basicassign2/clang/basicassign2.expected | 153 +- .../clang_O2/basicassign2.expected | 153 +- .../clang_no_plt_no_pic/basicassign2.expected | 153 +- .../clang_pic/basicassign2.expected | 217 ++- .../basicassign2/gcc/basicassign2.expected | 209 ++- .../basicassign2/gcc_O2/basicassign2.expected | 209 ++- .../gcc_no_plt_no_pic/basicassign2.expected | 209 ++- .../gcc_pic/basicassign2.expected | 273 ++-- .../basicassign3/clang/basicassign3.expected | 153 +- .../clang_O2/basicassign3.expected | 153 +- .../clang_no_plt_no_pic/basicassign3.expected | 153 +- .../clang_pic/basicassign3.expected | 217 ++- .../basicassign3/gcc/basicassign3.expected | 209 ++- .../basicassign3/gcc_O2/basicassign3.expected | 209 ++- .../gcc_no_plt_no_pic/basicassign3.expected | 209 ++- .../gcc_pic/basicassign3.expected | 273 ++-- .../incorrect/iflocal/clang/iflocal.expected | 153 +- .../clang_no_plt_no_pic/iflocal.expected | 153 +- .../iflocal/clang_pic/iflocal.expected | 153 +- .../incorrect/iflocal/gcc/iflocal.expected | 209 ++- .../gcc_no_plt_no_pic/iflocal.expected | 209 ++- .../iflocal/gcc_pic/iflocal.expected | 209 ++- .../clang/nestedifglobal.expected | 153 +- .../nestedifglobal.expected | 153 +- .../clang_pic/nestedifglobal.expected | 217 ++- .../gcc/nestedifglobal.expected | 209 ++- .../gcc_no_plt_no_pic/nestedifglobal.expected | 209 ++- .../gcc_pic/nestedifglobal.expected | 281 ++-- 353 files changed, 67551 insertions(+), 28049 deletions(-) diff --git a/src/test/correct/arrays_simple/clang/arrays_simple.expected b/src/test/correct/arrays_simple/clang/arrays_simple.expected index ce0408798..c3a553a7e 100644 --- a/src/test/correct/arrays_simple/clang/arrays_simple.expected +++ b/src/test/correct/arrays_simple/clang/arrays_simple.expected @@ -34,9 +34,44 @@ function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1872bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1873bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1874bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1875bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -54,42 +89,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_stack, R0, R31, R8, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1872bv64) == 1bv8); free requires (memory_load8_le(mem, 1873bv64) == 0bv8); free requires (memory_load8_le(mem, 1874bv64) == 2bv8); free requires (memory_load8_le(mem, 1875bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -98,22 +133,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -124,6 +143,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1872bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1873bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1874bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1875bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { lmain: R31, Gamma_R31 := bvadd64(R31, 18446744073709551584bv64), Gamma_R31; diff --git a/src/test/correct/arrays_simple/clang_O2/arrays_simple.expected b/src/test/correct/arrays_simple/clang_O2/arrays_simple.expected index 3b757ebc7..36dff27e4 100644 --- a/src/test/correct/arrays_simple/clang_O2/arrays_simple.expected +++ b/src/test/correct/arrays_simple/clang_O2/arrays_simple.expected @@ -10,9 +10,44 @@ function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1840bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1841bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1842bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1843bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -30,42 +65,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, R0; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1840bv64) == 1bv8); free requires (memory_load8_le(mem, 1841bv64) == 0bv8); free requires (memory_load8_le(mem, 1842bv64) == 2bv8); free requires (memory_load8_le(mem, 1843bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -74,22 +109,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -98,6 +117,42 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1840bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1841bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1842bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1843bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { lmain: R0, Gamma_R0 := 0bv64, true; diff --git a/src/test/correct/arrays_simple/clang_no_plt_no_pic/arrays_simple.expected b/src/test/correct/arrays_simple/clang_no_plt_no_pic/arrays_simple.expected index ce0408798..c3a553a7e 100644 --- a/src/test/correct/arrays_simple/clang_no_plt_no_pic/arrays_simple.expected +++ b/src/test/correct/arrays_simple/clang_no_plt_no_pic/arrays_simple.expected @@ -34,9 +34,44 @@ function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1872bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1873bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1874bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1875bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -54,42 +89,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_stack, R0, R31, R8, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1872bv64) == 1bv8); free requires (memory_load8_le(mem, 1873bv64) == 0bv8); free requires (memory_load8_le(mem, 1874bv64) == 2bv8); free requires (memory_load8_le(mem, 1875bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -98,22 +133,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -124,6 +143,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1872bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1873bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1874bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1875bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { lmain: R31, Gamma_R31 := bvadd64(R31, 18446744073709551584bv64), Gamma_R31; diff --git a/src/test/correct/arrays_simple/clang_pic/arrays_simple.expected b/src/test/correct/arrays_simple/clang_pic/arrays_simple.expected index ce0408798..c3a553a7e 100644 --- a/src/test/correct/arrays_simple/clang_pic/arrays_simple.expected +++ b/src/test/correct/arrays_simple/clang_pic/arrays_simple.expected @@ -34,9 +34,44 @@ function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1872bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1873bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1874bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1875bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -54,42 +89,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_stack, R0, R31, R8, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1872bv64) == 1bv8); free requires (memory_load8_le(mem, 1873bv64) == 0bv8); free requires (memory_load8_le(mem, 1874bv64) == 2bv8); free requires (memory_load8_le(mem, 1875bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -98,22 +133,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -124,6 +143,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1872bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1873bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1874bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1875bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { lmain: R31, Gamma_R31 := bvadd64(R31, 18446744073709551584bv64), Gamma_R31; diff --git a/src/test/correct/arrays_simple/gcc_O2/arrays_simple.expected b/src/test/correct/arrays_simple/gcc_O2/arrays_simple.expected index 4644d729c..362cf9929 100644 --- a/src/test/correct/arrays_simple/gcc_O2/arrays_simple.expected +++ b/src/test/correct/arrays_simple/gcc_O2/arrays_simple.expected @@ -10,9 +10,44 @@ function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -30,98 +65,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, R0; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1896bv64) == 1bv8); free requires (memory_load8_le(mem, 1897bv64) == 0bv8); free requires (memory_load8_le(mem, 1898bv64) == 2bv8); free requires (memory_load8_le(mem, 1899bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 80bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 0bv8); + free requires (memory_load8_le(mem, 69025bv64) == 7bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 0bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -130,22 +109,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -154,6 +117,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lmain: R0, Gamma_R0 := 0bv64, true; diff --git a/src/test/correct/basic_arrays_read/clang/basic_arrays_read.expected b/src/test/correct/basic_arrays_read/clang/basic_arrays_read.expected index 8ebf818e1..4be9d558d 100644 --- a/src/test/correct/basic_arrays_read/clang/basic_arrays_read.expected +++ b/src/test/correct/basic_arrays_read/clang/basic_arrays_read.expected @@ -40,6 +40,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (old(memory_load32_le(mem, bvadd64($arr_addr, 0bv64))) == memory_load32_le(mem, bvadd64($arr_addr, 0bv64))); + free ensures (memory_load8_le(mem, 1860bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1861bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1862bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1863bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -62,42 +98,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_mem, Gamma_stack, R0, R31, R8, mem, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1860bv64) == 1bv8); free requires (memory_load8_le(mem, 1861bv64) == 0bv8); free requires (memory_load8_le(mem, 1862bv64) == 2bv8); free requires (memory_load8_le(mem, 1863bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -106,22 +142,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -132,6 +152,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1860bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1861bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1862bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1863bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { lmain: R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; diff --git a/src/test/correct/basic_arrays_read/clang_O2/basic_arrays_read.expected b/src/test/correct/basic_arrays_read/clang_O2/basic_arrays_read.expected index 650d7cbb4..6f933dd1e 100644 --- a/src/test/correct/basic_arrays_read/clang_O2/basic_arrays_read.expected +++ b/src/test/correct/basic_arrays_read/clang_O2/basic_arrays_read.expected @@ -31,6 +31,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (old(memory_load32_le(mem, bvadd64($arr_addr, 0bv64))) == memory_load32_le(mem, bvadd64($arr_addr, 0bv64))); + free ensures (memory_load8_le(mem, 1848bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1849bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1850bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1851bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -53,42 +89,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R8, Gamma_mem, R0, R8, mem; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1848bv64) == 1bv8); free requires (memory_load8_le(mem, 1849bv64) == 0bv8); free requires (memory_load8_le(mem, 1850bv64) == 2bv8); free requires (memory_load8_le(mem, 1851bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -97,22 +133,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -121,6 +141,42 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1848bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1849bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1850bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1851bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { lmain: R8, Gamma_R8 := 69632bv64, true; diff --git a/src/test/correct/basic_arrays_read/clang_no_plt_no_pic/basic_arrays_read.expected b/src/test/correct/basic_arrays_read/clang_no_plt_no_pic/basic_arrays_read.expected index 8ebf818e1..4be9d558d 100644 --- a/src/test/correct/basic_arrays_read/clang_no_plt_no_pic/basic_arrays_read.expected +++ b/src/test/correct/basic_arrays_read/clang_no_plt_no_pic/basic_arrays_read.expected @@ -40,6 +40,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (old(memory_load32_le(mem, bvadd64($arr_addr, 0bv64))) == memory_load32_le(mem, bvadd64($arr_addr, 0bv64))); + free ensures (memory_load8_le(mem, 1860bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1861bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1862bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1863bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -62,42 +98,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_mem, Gamma_stack, R0, R31, R8, mem, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1860bv64) == 1bv8); free requires (memory_load8_le(mem, 1861bv64) == 0bv8); free requires (memory_load8_le(mem, 1862bv64) == 2bv8); free requires (memory_load8_le(mem, 1863bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -106,22 +142,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -132,6 +152,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1860bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1861bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1862bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1863bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { lmain: R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; diff --git a/src/test/correct/basic_arrays_read/clang_pic/basic_arrays_read.expected b/src/test/correct/basic_arrays_read/clang_pic/basic_arrays_read.expected index dbc8426f6..939a9372c 100644 --- a/src/test/correct/basic_arrays_read/clang_pic/basic_arrays_read.expected +++ b/src/test/correct/basic_arrays_read/clang_pic/basic_arrays_read.expected @@ -48,6 +48,50 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (old(memory_load32_le(mem, bvadd64($arr_addr, 0bv64))) == memory_load32_le(mem, bvadd64($arr_addr, 0bv64))); + free ensures (memory_load8_le(mem, 1928bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1929bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1930bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1931bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69584bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69585bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69586bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -70,42 +114,34 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_mem, Gamma_stack, R0, R31, R8, mem, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1928bv64) == 1bv8); free requires (memory_load8_le(mem, 1929bv64) == 0bv8); free requires (memory_load8_le(mem, 1930bv64) == 2bv8); free requires (memory_load8_le(mem, 1931bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 13bv8); - free requires (memory_load8_le(mem, 69554bv64) == 1bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 0bv8); - free requires (memory_load8_le(mem, 69561bv64) == 0bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 69584bv64) == 84bv8); free requires (memory_load8_le(mem, 69585bv64) == 7bv8); free requires (memory_load8_le(mem, 69586bv64) == 0bv8); @@ -114,6 +150,22 @@ procedure main() free requires (memory_load8_le(mem, 69589bv64) == 0bv8); free requires (memory_load8_le(mem, 69590bv64) == 0bv8); free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69056bv64) == 80bv8); + free requires (memory_load8_le(mem, 69057bv64) == 7bv8); + free requires (memory_load8_le(mem, 69058bv64) == 0bv8); + free requires (memory_load8_le(mem, 69059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69060bv64) == 0bv8); + free requires (memory_load8_le(mem, 69061bv64) == 0bv8); + free requires (memory_load8_le(mem, 69062bv64) == 0bv8); + free requires (memory_load8_le(mem, 69063bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 0bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 52bv8); free requires (memory_load8_le(mem, 69593bv64) == 16bv8); free requires (memory_load8_le(mem, 69594bv64) == 1bv8); @@ -122,32 +174,52 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 40bv8); - free requires (memory_load8_le(mem, 69673bv64) == 16bv8); - free requires (memory_load8_le(mem, 69674bv64) == 1bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1928bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1929bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1930bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1931bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69584bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69585bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69586bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); { lmain: R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; diff --git a/src/test/correct/basic_arrays_read/gcc/basic_arrays_read.expected b/src/test/correct/basic_arrays_read/gcc/basic_arrays_read.expected index e6eb3f8e9..1356d67f7 100644 --- a/src/test/correct/basic_arrays_read/gcc/basic_arrays_read.expected +++ b/src/test/correct/basic_arrays_read/gcc/basic_arrays_read.expected @@ -34,6 +34,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (old(memory_load32_le(mem, bvadd64($arr_addr, 0bv64))) == memory_load32_le(mem, bvadd64($arr_addr, 0bv64))); + free ensures (memory_load8_le(mem, 1860bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1861bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1862bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1863bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -56,98 +92,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_mem, R0, mem; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1860bv64) == 1bv8); free requires (memory_load8_le(mem, 1861bv64) == 0bv8); free requires (memory_load8_le(mem, 1862bv64) == 2bv8); free requires (memory_load8_le(mem, 1863bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -156,22 +136,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -180,6 +144,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1860bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1861bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1862bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1863bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lmain: R0, Gamma_R0 := 69632bv64, true; diff --git a/src/test/correct/basic_arrays_read/gcc_O2/basic_arrays_read.expected b/src/test/correct/basic_arrays_read/gcc_O2/basic_arrays_read.expected index 99c254b2f..6f3ed3f96 100644 --- a/src/test/correct/basic_arrays_read/gcc_O2/basic_arrays_read.expected +++ b/src/test/correct/basic_arrays_read/gcc_O2/basic_arrays_read.expected @@ -31,6 +31,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (old(memory_load32_le(mem, bvadd64($arr_addr, 0bv64))) == memory_load32_le(mem, bvadd64($arr_addr, 0bv64))); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -53,98 +89,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1896bv64) == 1bv8); free requires (memory_load8_le(mem, 1897bv64) == 0bv8); free requires (memory_load8_le(mem, 1898bv64) == 2bv8); free requires (memory_load8_le(mem, 1899bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 80bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 0bv8); + free requires (memory_load8_le(mem, 69025bv64) == 7bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 0bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -153,22 +133,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -177,6 +141,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lmain: R1, Gamma_R1 := 69632bv64, true; diff --git a/src/test/correct/basic_arrays_read/gcc_no_plt_no_pic/basic_arrays_read.expected b/src/test/correct/basic_arrays_read/gcc_no_plt_no_pic/basic_arrays_read.expected index e6eb3f8e9..1356d67f7 100644 --- a/src/test/correct/basic_arrays_read/gcc_no_plt_no_pic/basic_arrays_read.expected +++ b/src/test/correct/basic_arrays_read/gcc_no_plt_no_pic/basic_arrays_read.expected @@ -34,6 +34,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (old(memory_load32_le(mem, bvadd64($arr_addr, 0bv64))) == memory_load32_le(mem, bvadd64($arr_addr, 0bv64))); + free ensures (memory_load8_le(mem, 1860bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1861bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1862bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1863bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -56,98 +92,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_mem, R0, mem; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1860bv64) == 1bv8); free requires (memory_load8_le(mem, 1861bv64) == 0bv8); free requires (memory_load8_le(mem, 1862bv64) == 2bv8); free requires (memory_load8_le(mem, 1863bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -156,22 +136,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -180,6 +144,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1860bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1861bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1862bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1863bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lmain: R0, Gamma_R0 := 69632bv64, true; diff --git a/src/test/correct/basic_arrays_read/gcc_pic/basic_arrays_read.expected b/src/test/correct/basic_arrays_read/gcc_pic/basic_arrays_read.expected index 5c6985c29..33db8b395 100644 --- a/src/test/correct/basic_arrays_read/gcc_pic/basic_arrays_read.expected +++ b/src/test/correct/basic_arrays_read/gcc_pic/basic_arrays_read.expected @@ -42,6 +42,50 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (old(memory_load32_le(mem, bvadd64($arr_addr, 0bv64))) == memory_load32_le(mem, bvadd64($arr_addr, 0bv64))); + free ensures (memory_load8_le(mem, 1924bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1925bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1926bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1927bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69608bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69609bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69610bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69611bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69612bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69613bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69614bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69615bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -64,98 +108,26 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_mem, R0, mem; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1924bv64) == 1bv8); free requires (memory_load8_le(mem, 1925bv64) == 0bv8); free requires (memory_load8_le(mem, 1926bv64) == 2bv8); free requires (memory_load8_le(mem, 1927bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 176bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 176bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 176bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 176bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 13bv8); - free requires (memory_load8_le(mem, 69578bv64) == 1bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); free requires (memory_load8_le(mem, 69608bv64) == 84bv8); free requires (memory_load8_le(mem, 69609bv64) == 7bv8); free requires (memory_load8_le(mem, 69610bv64) == 0bv8); @@ -164,30 +136,6 @@ procedure main() free requires (memory_load8_le(mem, 69613bv64) == 0bv8); free requires (memory_load8_le(mem, 69614bv64) == 0bv8); free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 24bv8); - free requires (memory_load8_le(mem, 69617bv64) == 16bv8); - free requires (memory_load8_le(mem, 69618bv64) == 1bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -196,6 +144,74 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 24bv8); + free requires (memory_load8_le(mem, 69617bv64) == 16bv8); + free requires (memory_load8_le(mem, 69618bv64) == 1bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 0bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 80bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1924bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1925bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1926bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1927bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69608bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69609bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69610bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69611bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69612bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69613bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69614bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69615bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); { lmain: R0, Gamma_R0 := 65536bv64, true; diff --git a/src/test/correct/basic_arrays_write/clang/basic_arrays_write.expected b/src/test/correct/basic_arrays_write/clang/basic_arrays_write.expected index 93b3f8b2a..453ae581b 100644 --- a/src/test/correct/basic_arrays_write/clang/basic_arrays_write.expected +++ b/src/test/correct/basic_arrays_write/clang/basic_arrays_write.expected @@ -42,6 +42,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures true; + free ensures (memory_load8_le(mem, 1868bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1869bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1870bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1871bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -65,42 +101,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R31, R8, R9, mem, stack; requires (Gamma_R0 == false); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1868bv64) == 1bv8); free requires (memory_load8_le(mem, 1869bv64) == 0bv8); free requires (memory_load8_le(mem, 1870bv64) == 2bv8); free requires (memory_load8_le(mem, 1871bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -109,22 +145,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -135,6 +155,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1868bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1869bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1870bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1871bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var arr$0_old: bv32; lmain: diff --git a/src/test/correct/basic_arrays_write/clang_O2/basic_arrays_write.expected b/src/test/correct/basic_arrays_write/clang_O2/basic_arrays_write.expected index efd356195..8324859bd 100644 --- a/src/test/correct/basic_arrays_write/clang_O2/basic_arrays_write.expected +++ b/src/test/correct/basic_arrays_write/clang_O2/basic_arrays_write.expected @@ -34,6 +34,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures true; + free ensures (memory_load8_le(mem, 1852bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1853bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1854bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1855bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -57,42 +93,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R8, Gamma_R9, Gamma_mem, R0, R8, R9, mem; requires (Gamma_R0 == false); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1852bv64) == 1bv8); free requires (memory_load8_le(mem, 1853bv64) == 0bv8); free requires (memory_load8_le(mem, 1854bv64) == 2bv8); free requires (memory_load8_le(mem, 1855bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -101,22 +137,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -125,6 +145,42 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1852bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1853bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1854bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1855bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var arr$0_old: bv32; lmain: diff --git a/src/test/correct/basic_arrays_write/clang_no_plt_no_pic/basic_arrays_write.expected b/src/test/correct/basic_arrays_write/clang_no_plt_no_pic/basic_arrays_write.expected index 93b3f8b2a..453ae581b 100644 --- a/src/test/correct/basic_arrays_write/clang_no_plt_no_pic/basic_arrays_write.expected +++ b/src/test/correct/basic_arrays_write/clang_no_plt_no_pic/basic_arrays_write.expected @@ -42,6 +42,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures true; + free ensures (memory_load8_le(mem, 1868bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1869bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1870bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1871bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -65,42 +101,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R31, R8, R9, mem, stack; requires (Gamma_R0 == false); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1868bv64) == 1bv8); free requires (memory_load8_le(mem, 1869bv64) == 0bv8); free requires (memory_load8_le(mem, 1870bv64) == 2bv8); free requires (memory_load8_le(mem, 1871bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -109,22 +145,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -135,6 +155,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1868bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1869bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1870bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1871bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var arr$0_old: bv32; lmain: diff --git a/src/test/correct/basic_arrays_write/clang_pic/basic_arrays_write.expected b/src/test/correct/basic_arrays_write/clang_pic/basic_arrays_write.expected index e7a03ad93..785994239 100644 --- a/src/test/correct/basic_arrays_write/clang_pic/basic_arrays_write.expected +++ b/src/test/correct/basic_arrays_write/clang_pic/basic_arrays_write.expected @@ -50,6 +50,50 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures true; + free ensures (memory_load8_le(mem, 1932bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1933bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1934bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1935bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69584bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69585bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69586bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -73,42 +117,34 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R31, R8, R9, mem, stack; requires (Gamma_R0 == false); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1932bv64) == 1bv8); free requires (memory_load8_le(mem, 1933bv64) == 0bv8); free requires (memory_load8_le(mem, 1934bv64) == 2bv8); free requires (memory_load8_le(mem, 1935bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 13bv8); - free requires (memory_load8_le(mem, 69554bv64) == 1bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 0bv8); - free requires (memory_load8_le(mem, 69561bv64) == 0bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 69584bv64) == 84bv8); free requires (memory_load8_le(mem, 69585bv64) == 7bv8); free requires (memory_load8_le(mem, 69586bv64) == 0bv8); @@ -117,6 +153,22 @@ procedure main() free requires (memory_load8_le(mem, 69589bv64) == 0bv8); free requires (memory_load8_le(mem, 69590bv64) == 0bv8); free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69056bv64) == 80bv8); + free requires (memory_load8_le(mem, 69057bv64) == 7bv8); + free requires (memory_load8_le(mem, 69058bv64) == 0bv8); + free requires (memory_load8_le(mem, 69059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69060bv64) == 0bv8); + free requires (memory_load8_le(mem, 69061bv64) == 0bv8); + free requires (memory_load8_le(mem, 69062bv64) == 0bv8); + free requires (memory_load8_le(mem, 69063bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 0bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 52bv8); free requires (memory_load8_le(mem, 69593bv64) == 16bv8); free requires (memory_load8_le(mem, 69594bv64) == 1bv8); @@ -125,32 +177,52 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 40bv8); - free requires (memory_load8_le(mem, 69673bv64) == 16bv8); - free requires (memory_load8_le(mem, 69674bv64) == 1bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1932bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1933bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1934bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1935bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69584bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69585bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69586bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); { var arr$0_old: bv32; lmain: diff --git a/src/test/correct/basic_arrays_write/gcc/basic_arrays_write.expected b/src/test/correct/basic_arrays_write/gcc/basic_arrays_write.expected index da0639a81..a019ed6d0 100644 --- a/src/test/correct/basic_arrays_write/gcc/basic_arrays_write.expected +++ b/src/test/correct/basic_arrays_write/gcc/basic_arrays_write.expected @@ -40,6 +40,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures true; + free ensures (memory_load8_le(mem, 1868bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1869bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1870bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1871bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -63,98 +99,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R31, mem, stack; requires (Gamma_R0 == false); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1868bv64) == 1bv8); free requires (memory_load8_le(mem, 1869bv64) == 0bv8); free requires (memory_load8_le(mem, 1870bv64) == 2bv8); free requires (memory_load8_le(mem, 1871bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -163,22 +143,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -189,6 +153,42 @@ procedure main() free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1868bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1869bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1870bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1871bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var arr$0_old: bv32; lmain: diff --git a/src/test/correct/basic_arrays_write/gcc_O2/basic_arrays_write.expected b/src/test/correct/basic_arrays_write/gcc_O2/basic_arrays_write.expected index dee2f0d27..37ffc4865 100644 --- a/src/test/correct/basic_arrays_write/gcc_O2/basic_arrays_write.expected +++ b/src/test/correct/basic_arrays_write/gcc_O2/basic_arrays_write.expected @@ -34,6 +34,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures true; + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -57,98 +93,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R2, Gamma_mem, R0, R1, R2, mem; requires (Gamma_R0 == false); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1896bv64) == 1bv8); free requires (memory_load8_le(mem, 1897bv64) == 0bv8); free requires (memory_load8_le(mem, 1898bv64) == 2bv8); free requires (memory_load8_le(mem, 1899bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 80bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 0bv8); + free requires (memory_load8_le(mem, 69025bv64) == 7bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 0bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -157,22 +137,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -181,6 +145,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var arr$0_old: bv32; lmain: diff --git a/src/test/correct/basic_arrays_write/gcc_no_plt_no_pic/basic_arrays_write.expected b/src/test/correct/basic_arrays_write/gcc_no_plt_no_pic/basic_arrays_write.expected index da0639a81..a019ed6d0 100644 --- a/src/test/correct/basic_arrays_write/gcc_no_plt_no_pic/basic_arrays_write.expected +++ b/src/test/correct/basic_arrays_write/gcc_no_plt_no_pic/basic_arrays_write.expected @@ -40,6 +40,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures true; + free ensures (memory_load8_le(mem, 1868bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1869bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1870bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1871bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -63,98 +99,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R31, mem, stack; requires (Gamma_R0 == false); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1868bv64) == 1bv8); free requires (memory_load8_le(mem, 1869bv64) == 0bv8); free requires (memory_load8_le(mem, 1870bv64) == 2bv8); free requires (memory_load8_le(mem, 1871bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -163,22 +143,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -189,6 +153,42 @@ procedure main() free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1868bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1869bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1870bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1871bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var arr$0_old: bv32; lmain: diff --git a/src/test/correct/basic_arrays_write/gcc_pic/basic_arrays_write.expected b/src/test/correct/basic_arrays_write/gcc_pic/basic_arrays_write.expected index ef0423338..e55b87edd 100644 --- a/src/test/correct/basic_arrays_write/gcc_pic/basic_arrays_write.expected +++ b/src/test/correct/basic_arrays_write/gcc_pic/basic_arrays_write.expected @@ -48,6 +48,50 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures true; + free ensures (memory_load8_le(mem, 1932bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1933bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1934bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1935bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69608bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69609bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69610bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69611bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69612bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69613bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69614bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69615bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -71,98 +115,26 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R31, mem, stack; requires (Gamma_R0 == false); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1932bv64) == 1bv8); free requires (memory_load8_le(mem, 1933bv64) == 0bv8); free requires (memory_load8_le(mem, 1934bv64) == 2bv8); free requires (memory_load8_le(mem, 1935bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 176bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 176bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 176bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 176bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 13bv8); - free requires (memory_load8_le(mem, 69578bv64) == 1bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); free requires (memory_load8_le(mem, 69608bv64) == 84bv8); free requires (memory_load8_le(mem, 69609bv64) == 7bv8); free requires (memory_load8_le(mem, 69610bv64) == 0bv8); @@ -171,30 +143,6 @@ procedure main() free requires (memory_load8_le(mem, 69613bv64) == 0bv8); free requires (memory_load8_le(mem, 69614bv64) == 0bv8); free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 24bv8); - free requires (memory_load8_le(mem, 69617bv64) == 16bv8); - free requires (memory_load8_le(mem, 69618bv64) == 1bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -203,8 +151,76 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 24bv8); + free requires (memory_load8_le(mem, 69617bv64) == 16bv8); + free requires (memory_load8_le(mem, 69618bv64) == 1bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 0bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 80bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1932bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1933bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1934bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1935bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69608bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69609bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69610bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69611bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69612bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69613bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69614bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69615bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); { var arr$0_old: bv32; lmain: diff --git a/src/test/correct/basic_assign_assign/clang/basic_assign_assign.expected b/src/test/correct/basic_assign_assign/clang/basic_assign_assign.expected index a25b377bb..864b64f94 100644 --- a/src/test/correct/basic_assign_assign/clang/basic_assign_assign.expected +++ b/src/test/correct/basic_assign_assign/clang/basic_assign_assign.expected @@ -33,6 +33,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (((memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))) || (memory_load32_le(mem, $x_addr) == 1bv32)) || (memory_load32_le(mem, $x_addr) == 6bv32)); + free ensures (memory_load8_le(mem, 1852bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1853bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1854bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1855bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -56,42 +92,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R8, Gamma_R9, Gamma_mem, R0, R8, R9, mem; requires (memory_load32_le(mem, $x_addr) == 0bv32); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1852bv64) == 1bv8); free requires (memory_load8_le(mem, 1853bv64) == 0bv8); free requires (memory_load8_le(mem, 1854bv64) == 2bv8); free requires (memory_load8_le(mem, 1855bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -100,22 +136,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -125,6 +145,42 @@ procedure main() free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); ensures ((memory_load32_le(mem, $x_addr) == 5bv32) || (memory_load32_le(mem, $x_addr) == 6bv32)); + free ensures (memory_load8_le(mem, 1852bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1853bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1854bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1855bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var x_old: bv32; lmain: diff --git a/src/test/correct/basic_assign_assign/clang_O2/basic_assign_assign.expected b/src/test/correct/basic_assign_assign/clang_O2/basic_assign_assign.expected index 2ab6361f1..1b090d60a 100644 --- a/src/test/correct/basic_assign_assign/clang_O2/basic_assign_assign.expected +++ b/src/test/correct/basic_assign_assign/clang_O2/basic_assign_assign.expected @@ -33,6 +33,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (((memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))) || (memory_load32_le(mem, $x_addr) == 1bv32)) || (memory_load32_le(mem, $x_addr) == 6bv32)); + free ensures (memory_load8_le(mem, 1852bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1853bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1854bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1855bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -56,42 +92,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R8, Gamma_R9, Gamma_mem, R0, R8, R9, mem; requires (memory_load32_le(mem, $x_addr) == 0bv32); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1852bv64) == 1bv8); free requires (memory_load8_le(mem, 1853bv64) == 0bv8); free requires (memory_load8_le(mem, 1854bv64) == 2bv8); free requires (memory_load8_le(mem, 1855bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -100,22 +136,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -125,6 +145,42 @@ procedure main() free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); ensures ((memory_load32_le(mem, $x_addr) == 5bv32) || (memory_load32_le(mem, $x_addr) == 6bv32)); + free ensures (memory_load8_le(mem, 1852bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1853bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1854bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1855bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var x_old: bv32; lmain: diff --git a/src/test/correct/basic_assign_assign/clang_no_plt_no_pic/basic_assign_assign.expected b/src/test/correct/basic_assign_assign/clang_no_plt_no_pic/basic_assign_assign.expected index a25b377bb..864b64f94 100644 --- a/src/test/correct/basic_assign_assign/clang_no_plt_no_pic/basic_assign_assign.expected +++ b/src/test/correct/basic_assign_assign/clang_no_plt_no_pic/basic_assign_assign.expected @@ -33,6 +33,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (((memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))) || (memory_load32_le(mem, $x_addr) == 1bv32)) || (memory_load32_le(mem, $x_addr) == 6bv32)); + free ensures (memory_load8_le(mem, 1852bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1853bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1854bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1855bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -56,42 +92,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R8, Gamma_R9, Gamma_mem, R0, R8, R9, mem; requires (memory_load32_le(mem, $x_addr) == 0bv32); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1852bv64) == 1bv8); free requires (memory_load8_le(mem, 1853bv64) == 0bv8); free requires (memory_load8_le(mem, 1854bv64) == 2bv8); free requires (memory_load8_le(mem, 1855bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -100,22 +136,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -125,6 +145,42 @@ procedure main() free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); ensures ((memory_load32_le(mem, $x_addr) == 5bv32) || (memory_load32_le(mem, $x_addr) == 6bv32)); + free ensures (memory_load8_le(mem, 1852bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1853bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1854bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1855bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var x_old: bv32; lmain: diff --git a/src/test/correct/basic_assign_assign/clang_pic/basic_assign_assign.expected b/src/test/correct/basic_assign_assign/clang_pic/basic_assign_assign.expected index d8b2fec07..f4a59969f 100644 --- a/src/test/correct/basic_assign_assign/clang_pic/basic_assign_assign.expected +++ b/src/test/correct/basic_assign_assign/clang_pic/basic_assign_assign.expected @@ -41,6 +41,50 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (((memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))) || (memory_load32_le(mem, $x_addr) == 1bv32)) || (memory_load32_le(mem, $x_addr) == 6bv32)); + free ensures (memory_load8_le(mem, 1920bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1921bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1922bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1923bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69576bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69577bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69578bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69579bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69580bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69581bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69582bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69583bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -64,34 +108,26 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R8, Gamma_R9, Gamma_mem, R0, R8, R9, mem; requires (memory_load32_le(mem, $x_addr) == 0bv32); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1920bv64) == 1bv8); free requires (memory_load8_le(mem, 1921bv64) == 0bv8); free requires (memory_load8_le(mem, 1922bv64) == 2bv8); free requires (memory_load8_le(mem, 1923bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 13bv8); - free requires (memory_load8_le(mem, 69554bv64) == 1bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 0bv8); - free requires (memory_load8_le(mem, 69561bv64) == 0bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); free requires (memory_load8_le(mem, 69576bv64) == 52bv8); free requires (memory_load8_le(mem, 69577bv64) == 16bv8); free requires (memory_load8_le(mem, 69578bv64) == 1bv8); @@ -100,38 +136,6 @@ procedure main() free requires (memory_load8_le(mem, 69581bv64) == 0bv8); free requires (memory_load8_le(mem, 69582bv64) == 0bv8); free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 84bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -140,7 +144,75 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69056bv64) == 80bv8); + free requires (memory_load8_le(mem, 69057bv64) == 7bv8); + free requires (memory_load8_le(mem, 69058bv64) == 0bv8); + free requires (memory_load8_le(mem, 69059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69060bv64) == 0bv8); + free requires (memory_load8_le(mem, 69061bv64) == 0bv8); + free requires (memory_load8_le(mem, 69062bv64) == 0bv8); + free requires (memory_load8_le(mem, 69063bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 0bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 84bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); ensures ((memory_load32_le(mem, $x_addr) == 5bv32) || (memory_load32_le(mem, $x_addr) == 6bv32)); + free ensures (memory_load8_le(mem, 1920bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1921bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1922bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1923bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69576bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69577bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69578bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69579bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69580bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69581bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69582bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69583bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); { var x_old: bv32; lmain: diff --git a/src/test/correct/basic_assign_assign/gcc/basic_assign_assign.expected b/src/test/correct/basic_assign_assign/gcc/basic_assign_assign.expected index b5da47936..5a7f4b0d7 100644 --- a/src/test/correct/basic_assign_assign/gcc/basic_assign_assign.expected +++ b/src/test/correct/basic_assign_assign/gcc/basic_assign_assign.expected @@ -31,6 +31,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (((memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))) || (memory_load32_le(mem, $x_addr) == 1bv32)) || (memory_load32_le(mem, $x_addr) == 6bv32)); + free ensures (memory_load8_le(mem, 1856bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1857bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1858bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1859bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -54,98 +90,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; requires (memory_load32_le(mem, $x_addr) == 0bv32); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1856bv64) == 1bv8); free requires (memory_load8_le(mem, 1857bv64) == 0bv8); free requires (memory_load8_le(mem, 1858bv64) == 2bv8); free requires (memory_load8_le(mem, 1859bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -154,22 +134,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -179,6 +143,42 @@ procedure main() free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); ensures ((memory_load32_le(mem, $x_addr) == 5bv32) || (memory_load32_le(mem, $x_addr) == 6bv32)); + free ensures (memory_load8_le(mem, 1856bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1857bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1858bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1859bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var x_old: bv32; lmain: diff --git a/src/test/correct/basic_assign_assign/gcc_O2/basic_assign_assign.expected b/src/test/correct/basic_assign_assign/gcc_O2/basic_assign_assign.expected index 056d15859..0512e9b2f 100644 --- a/src/test/correct/basic_assign_assign/gcc_O2/basic_assign_assign.expected +++ b/src/test/correct/basic_assign_assign/gcc_O2/basic_assign_assign.expected @@ -33,6 +33,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (((memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))) || (memory_load32_le(mem, $x_addr) == 1bv32)) || (memory_load32_le(mem, $x_addr) == 6bv32)); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -56,98 +92,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R2, Gamma_mem, R0, R1, R2, mem; requires (memory_load32_le(mem, $x_addr) == 0bv32); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1896bv64) == 1bv8); free requires (memory_load8_le(mem, 1897bv64) == 0bv8); free requires (memory_load8_le(mem, 1898bv64) == 2bv8); free requires (memory_load8_le(mem, 1899bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 80bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 0bv8); + free requires (memory_load8_le(mem, 69025bv64) == 7bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 0bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -156,22 +136,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -181,6 +145,42 @@ procedure main() free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); ensures ((memory_load32_le(mem, $x_addr) == 5bv32) || (memory_load32_le(mem, $x_addr) == 6bv32)); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var x_old: bv32; lmain: diff --git a/src/test/correct/basic_assign_assign/gcc_no_plt_no_pic/basic_assign_assign.expected b/src/test/correct/basic_assign_assign/gcc_no_plt_no_pic/basic_assign_assign.expected index b5da47936..5a7f4b0d7 100644 --- a/src/test/correct/basic_assign_assign/gcc_no_plt_no_pic/basic_assign_assign.expected +++ b/src/test/correct/basic_assign_assign/gcc_no_plt_no_pic/basic_assign_assign.expected @@ -31,6 +31,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (((memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))) || (memory_load32_le(mem, $x_addr) == 1bv32)) || (memory_load32_le(mem, $x_addr) == 6bv32)); + free ensures (memory_load8_le(mem, 1856bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1857bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1858bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1859bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -54,98 +90,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; requires (memory_load32_le(mem, $x_addr) == 0bv32); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1856bv64) == 1bv8); free requires (memory_load8_le(mem, 1857bv64) == 0bv8); free requires (memory_load8_le(mem, 1858bv64) == 2bv8); free requires (memory_load8_le(mem, 1859bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -154,22 +134,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -179,6 +143,42 @@ procedure main() free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); ensures ((memory_load32_le(mem, $x_addr) == 5bv32) || (memory_load32_le(mem, $x_addr) == 6bv32)); + free ensures (memory_load8_le(mem, 1856bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1857bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1858bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1859bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var x_old: bv32; lmain: diff --git a/src/test/correct/basic_assign_assign/gcc_pic/basic_assign_assign.expected b/src/test/correct/basic_assign_assign/gcc_pic/basic_assign_assign.expected index f4be2fcf6..6d6f2c5c9 100644 --- a/src/test/correct/basic_assign_assign/gcc_pic/basic_assign_assign.expected +++ b/src/test/correct/basic_assign_assign/gcc_pic/basic_assign_assign.expected @@ -39,6 +39,50 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (((memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))) || (memory_load32_le(mem, $x_addr) == 1bv32)) || (memory_load32_le(mem, $x_addr) == 6bv32)); + free ensures (memory_load8_le(mem, 1920bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1921bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1922bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1923bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69600bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69601bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69602bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69603bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69604bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69605bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69606bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69607bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -62,122 +106,6 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; requires (memory_load32_le(mem, $x_addr) == 0bv32); - free requires (memory_load8_le(mem, 1920bv64) == 1bv8); - free requires (memory_load8_le(mem, 1921bv64) == 0bv8); - free requires (memory_load8_le(mem, 1922bv64) == 2bv8); - free requires (memory_load8_le(mem, 1923bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 176bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 176bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 176bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 176bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 13bv8); - free requires (memory_load8_le(mem, 69578bv64) == 1bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 20bv8); - free requires (memory_load8_le(mem, 69601bv64) == 16bv8); - free requires (memory_load8_le(mem, 69602bv64) == 1bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 84bv8); - free requires (memory_load8_le(mem, 69617bv64) == 7bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -194,7 +122,95 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 1920bv64) == 1bv8); + free requires (memory_load8_le(mem, 1921bv64) == 0bv8); + free requires (memory_load8_le(mem, 1922bv64) == 2bv8); + free requires (memory_load8_le(mem, 1923bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 84bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 0bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69600bv64) == 20bv8); + free requires (memory_load8_le(mem, 69601bv64) == 16bv8); + free requires (memory_load8_le(mem, 69602bv64) == 1bv8); + free requires (memory_load8_le(mem, 69603bv64) == 0bv8); + free requires (memory_load8_le(mem, 69604bv64) == 0bv8); + free requires (memory_load8_le(mem, 69605bv64) == 0bv8); + free requires (memory_load8_le(mem, 69606bv64) == 0bv8); + free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 80bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); ensures ((memory_load32_le(mem, $x_addr) == 5bv32) || (memory_load32_le(mem, $x_addr) == 6bv32)); + free ensures (memory_load8_le(mem, 1920bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1921bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1922bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1923bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69600bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69601bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69602bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69603bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69604bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69605bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69606bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69607bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); { var x_old: bv32; lmain: diff --git a/src/test/correct/basic_assign_increment/clang/basic_assign_increment.expected b/src/test/correct/basic_assign_increment/clang/basic_assign_increment.expected index d7acf7daf..2081d3e62 100644 --- a/src/test/correct/basic_assign_increment/clang/basic_assign_increment.expected +++ b/src/test/correct/basic_assign_increment/clang/basic_assign_increment.expected @@ -39,6 +39,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))) || (memory_load32_le(mem, $x_addr) == 5bv32)); + free ensures (memory_load8_le(mem, 1856bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1857bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1858bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1859bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -62,42 +98,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R8, Gamma_R9, Gamma_mem, R0, R8, R9, mem; requires (memory_load32_le(mem, $x_addr) == 0bv32); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1856bv64) == 1bv8); free requires (memory_load8_le(mem, 1857bv64) == 0bv8); free requires (memory_load8_le(mem, 1858bv64) == 2bv8); free requires (memory_load8_le(mem, 1859bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -106,22 +142,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -131,6 +151,42 @@ procedure main() free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); ensures (((memory_load32_le(mem, $x_addr) == 1bv32) || (memory_load32_le(mem, $x_addr) == 5bv32)) || (memory_load32_le(mem, $x_addr) == 6bv32)); + free ensures (memory_load8_le(mem, 1856bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1857bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1858bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1859bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var x_old: bv32; lmain: diff --git a/src/test/correct/basic_assign_increment/clang_O2/basic_assign_increment.expected b/src/test/correct/basic_assign_increment/clang_O2/basic_assign_increment.expected index 11a273d87..e0d8ba33e 100644 --- a/src/test/correct/basic_assign_increment/clang_O2/basic_assign_increment.expected +++ b/src/test/correct/basic_assign_increment/clang_O2/basic_assign_increment.expected @@ -39,6 +39,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))) || (memory_load32_le(mem, $x_addr) == 5bv32)); + free ensures (memory_load8_le(mem, 1856bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1857bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1858bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1859bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -62,42 +98,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R8, Gamma_R9, Gamma_mem, R0, R8, R9, mem; requires (memory_load32_le(mem, $x_addr) == 0bv32); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1856bv64) == 1bv8); free requires (memory_load8_le(mem, 1857bv64) == 0bv8); free requires (memory_load8_le(mem, 1858bv64) == 2bv8); free requires (memory_load8_le(mem, 1859bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -106,22 +142,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -131,6 +151,42 @@ procedure main() free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); ensures (((memory_load32_le(mem, $x_addr) == 1bv32) || (memory_load32_le(mem, $x_addr) == 5bv32)) || (memory_load32_le(mem, $x_addr) == 6bv32)); + free ensures (memory_load8_le(mem, 1856bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1857bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1858bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1859bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var x_old: bv32; lmain: diff --git a/src/test/correct/basic_assign_increment/clang_no_plt_no_pic/basic_assign_increment.expected b/src/test/correct/basic_assign_increment/clang_no_plt_no_pic/basic_assign_increment.expected index d7acf7daf..2081d3e62 100644 --- a/src/test/correct/basic_assign_increment/clang_no_plt_no_pic/basic_assign_increment.expected +++ b/src/test/correct/basic_assign_increment/clang_no_plt_no_pic/basic_assign_increment.expected @@ -39,6 +39,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))) || (memory_load32_le(mem, $x_addr) == 5bv32)); + free ensures (memory_load8_le(mem, 1856bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1857bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1858bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1859bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -62,42 +98,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R8, Gamma_R9, Gamma_mem, R0, R8, R9, mem; requires (memory_load32_le(mem, $x_addr) == 0bv32); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1856bv64) == 1bv8); free requires (memory_load8_le(mem, 1857bv64) == 0bv8); free requires (memory_load8_le(mem, 1858bv64) == 2bv8); free requires (memory_load8_le(mem, 1859bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -106,22 +142,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -131,6 +151,42 @@ procedure main() free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); ensures (((memory_load32_le(mem, $x_addr) == 1bv32) || (memory_load32_le(mem, $x_addr) == 5bv32)) || (memory_load32_le(mem, $x_addr) == 6bv32)); + free ensures (memory_load8_le(mem, 1856bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1857bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1858bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1859bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var x_old: bv32; lmain: diff --git a/src/test/correct/basic_assign_increment/clang_pic/basic_assign_increment.expected b/src/test/correct/basic_assign_increment/clang_pic/basic_assign_increment.expected index 910638d28..39d934e3d 100644 --- a/src/test/correct/basic_assign_increment/clang_pic/basic_assign_increment.expected +++ b/src/test/correct/basic_assign_increment/clang_pic/basic_assign_increment.expected @@ -47,6 +47,50 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))) || (memory_load32_le(mem, $x_addr) == 5bv32)); + free ensures (memory_load8_le(mem, 1924bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1925bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1926bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1927bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69576bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69577bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69578bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69579bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69580bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69581bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69582bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69583bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -70,34 +114,26 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R8, Gamma_R9, Gamma_mem, R0, R8, R9, mem; requires (memory_load32_le(mem, $x_addr) == 0bv32); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1924bv64) == 1bv8); free requires (memory_load8_le(mem, 1925bv64) == 0bv8); free requires (memory_load8_le(mem, 1926bv64) == 2bv8); free requires (memory_load8_le(mem, 1927bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 13bv8); - free requires (memory_load8_le(mem, 69554bv64) == 1bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 0bv8); - free requires (memory_load8_le(mem, 69561bv64) == 0bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); free requires (memory_load8_le(mem, 69576bv64) == 52bv8); free requires (memory_load8_le(mem, 69577bv64) == 16bv8); free requires (memory_load8_le(mem, 69578bv64) == 1bv8); @@ -106,38 +142,6 @@ procedure main() free requires (memory_load8_le(mem, 69581bv64) == 0bv8); free requires (memory_load8_le(mem, 69582bv64) == 0bv8); free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 84bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -146,7 +150,75 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69056bv64) == 80bv8); + free requires (memory_load8_le(mem, 69057bv64) == 7bv8); + free requires (memory_load8_le(mem, 69058bv64) == 0bv8); + free requires (memory_load8_le(mem, 69059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69060bv64) == 0bv8); + free requires (memory_load8_le(mem, 69061bv64) == 0bv8); + free requires (memory_load8_le(mem, 69062bv64) == 0bv8); + free requires (memory_load8_le(mem, 69063bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 0bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 84bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); ensures (((memory_load32_le(mem, $x_addr) == 1bv32) || (memory_load32_le(mem, $x_addr) == 5bv32)) || (memory_load32_le(mem, $x_addr) == 6bv32)); + free ensures (memory_load8_le(mem, 1924bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1925bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1926bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1927bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69576bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69577bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69578bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69579bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69580bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69581bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69582bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69583bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); { var x_old: bv32; lmain: diff --git a/src/test/correct/basic_assign_increment/gcc/basic_assign_increment.expected b/src/test/correct/basic_assign_increment/gcc/basic_assign_increment.expected index 3d0d04f01..346201b8b 100644 --- a/src/test/correct/basic_assign_increment/gcc/basic_assign_increment.expected +++ b/src/test/correct/basic_assign_increment/gcc/basic_assign_increment.expected @@ -37,6 +37,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))) || (memory_load32_le(mem, $x_addr) == 5bv32)); + free ensures (memory_load8_le(mem, 1868bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1869bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1870bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1871bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -60,98 +96,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; requires (memory_load32_le(mem, $x_addr) == 0bv32); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1868bv64) == 1bv8); free requires (memory_load8_le(mem, 1869bv64) == 0bv8); free requires (memory_load8_le(mem, 1870bv64) == 2bv8); free requires (memory_load8_le(mem, 1871bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -160,22 +140,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -185,6 +149,42 @@ procedure main() free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); ensures (((memory_load32_le(mem, $x_addr) == 1bv32) || (memory_load32_le(mem, $x_addr) == 5bv32)) || (memory_load32_le(mem, $x_addr) == 6bv32)); + free ensures (memory_load8_le(mem, 1868bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1869bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1870bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1871bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var x_old: bv32; lmain: diff --git a/src/test/correct/basic_assign_increment/gcc_O2/basic_assign_increment.expected b/src/test/correct/basic_assign_increment/gcc_O2/basic_assign_increment.expected index dec60a57e..31ecc9ca8 100644 --- a/src/test/correct/basic_assign_increment/gcc_O2/basic_assign_increment.expected +++ b/src/test/correct/basic_assign_increment/gcc_O2/basic_assign_increment.expected @@ -39,6 +39,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))) || (memory_load32_le(mem, $x_addr) == 5bv32)); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -62,98 +98,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R2, Gamma_mem, R0, R1, R2, mem; requires (memory_load32_le(mem, $x_addr) == 0bv32); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1896bv64) == 1bv8); free requires (memory_load8_le(mem, 1897bv64) == 0bv8); free requires (memory_load8_le(mem, 1898bv64) == 2bv8); free requires (memory_load8_le(mem, 1899bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 80bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 0bv8); + free requires (memory_load8_le(mem, 69025bv64) == 7bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 0bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -162,22 +142,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -187,6 +151,42 @@ procedure main() free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); ensures (((memory_load32_le(mem, $x_addr) == 1bv32) || (memory_load32_le(mem, $x_addr) == 5bv32)) || (memory_load32_le(mem, $x_addr) == 6bv32)); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var x_old: bv32; lmain: diff --git a/src/test/correct/basic_assign_increment/gcc_no_plt_no_pic/basic_assign_increment.expected b/src/test/correct/basic_assign_increment/gcc_no_plt_no_pic/basic_assign_increment.expected index 3d0d04f01..346201b8b 100644 --- a/src/test/correct/basic_assign_increment/gcc_no_plt_no_pic/basic_assign_increment.expected +++ b/src/test/correct/basic_assign_increment/gcc_no_plt_no_pic/basic_assign_increment.expected @@ -37,6 +37,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))) || (memory_load32_le(mem, $x_addr) == 5bv32)); + free ensures (memory_load8_le(mem, 1868bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1869bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1870bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1871bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -60,98 +96,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; requires (memory_load32_le(mem, $x_addr) == 0bv32); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1868bv64) == 1bv8); free requires (memory_load8_le(mem, 1869bv64) == 0bv8); free requires (memory_load8_le(mem, 1870bv64) == 2bv8); free requires (memory_load8_le(mem, 1871bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -160,22 +140,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -185,6 +149,42 @@ procedure main() free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); ensures (((memory_load32_le(mem, $x_addr) == 1bv32) || (memory_load32_le(mem, $x_addr) == 5bv32)) || (memory_load32_le(mem, $x_addr) == 6bv32)); + free ensures (memory_load8_le(mem, 1868bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1869bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1870bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1871bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var x_old: bv32; lmain: diff --git a/src/test/correct/basic_assign_increment/gcc_pic/basic_assign_increment.expected b/src/test/correct/basic_assign_increment/gcc_pic/basic_assign_increment.expected index 6e2a18928..335bdc106 100644 --- a/src/test/correct/basic_assign_increment/gcc_pic/basic_assign_increment.expected +++ b/src/test/correct/basic_assign_increment/gcc_pic/basic_assign_increment.expected @@ -45,6 +45,50 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))) || (memory_load32_le(mem, $x_addr) == 5bv32)); + free ensures (memory_load8_le(mem, 1932bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1933bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1934bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1935bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69600bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69601bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69602bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69603bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69604bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69605bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69606bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69607bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -68,122 +112,6 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; requires (memory_load32_le(mem, $x_addr) == 0bv32); - free requires (memory_load8_le(mem, 1932bv64) == 1bv8); - free requires (memory_load8_le(mem, 1933bv64) == 0bv8); - free requires (memory_load8_le(mem, 1934bv64) == 2bv8); - free requires (memory_load8_le(mem, 1935bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 176bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 176bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 176bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 176bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 13bv8); - free requires (memory_load8_le(mem, 69578bv64) == 1bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 20bv8); - free requires (memory_load8_le(mem, 69601bv64) == 16bv8); - free requires (memory_load8_le(mem, 69602bv64) == 1bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 84bv8); - free requires (memory_load8_le(mem, 69617bv64) == 7bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -200,7 +128,95 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 1932bv64) == 1bv8); + free requires (memory_load8_le(mem, 1933bv64) == 0bv8); + free requires (memory_load8_le(mem, 1934bv64) == 2bv8); + free requires (memory_load8_le(mem, 1935bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 84bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 0bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69600bv64) == 20bv8); + free requires (memory_load8_le(mem, 69601bv64) == 16bv8); + free requires (memory_load8_le(mem, 69602bv64) == 1bv8); + free requires (memory_load8_le(mem, 69603bv64) == 0bv8); + free requires (memory_load8_le(mem, 69604bv64) == 0bv8); + free requires (memory_load8_le(mem, 69605bv64) == 0bv8); + free requires (memory_load8_le(mem, 69606bv64) == 0bv8); + free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 80bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); ensures (((memory_load32_le(mem, $x_addr) == 1bv32) || (memory_load32_le(mem, $x_addr) == 5bv32)) || (memory_load32_le(mem, $x_addr) == 6bv32)); + free ensures (memory_load8_le(mem, 1932bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1933bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1934bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1935bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69600bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69601bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69602bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69603bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69604bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69605bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69606bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69607bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); { var x_old: bv32; lmain: diff --git a/src/test/correct/basic_function_call_caller/clang/basic_function_call_caller.expected b/src/test/correct/basic_function_call_caller/clang/basic_function_call_caller.expected index a22eaedb8..18fd197c9 100644 --- a/src/test/correct/basic_function_call_caller/clang/basic_function_call_caller.expected +++ b/src/test/correct/basic_function_call_caller/clang/basic_function_call_caller.expected @@ -65,6 +65,42 @@ procedure rely(); ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))); ensures (memory_load32_le(mem, $y_addr) == old(memory_load32_le(mem, $y_addr))); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 28bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -91,42 +127,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R29, R30, R31, R8, R9, mem, stack; requires (Gamma_R0 == false); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1896bv64) == 1bv8); free requires (memory_load8_le(mem, 1897bv64) == 0bv8); free requires (memory_load8_le(mem, 1898bv64) == 2bv8); free requires (memory_load8_le(mem, 1899bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 28bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -135,22 +171,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -163,6 +183,42 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 28bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv64; var #5: bv64; @@ -210,7 +266,79 @@ procedure main() procedure zero() modifies Gamma_R0, R0; + free requires (memory_load8_le(mem, 1896bv64) == 1bv8); + free requires (memory_load8_le(mem, 1897bv64) == 0bv8); + free requires (memory_load8_le(mem, 1898bv64) == 2bv8); + free requires (memory_load8_le(mem, 1899bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 28bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); ensures ((R0[32:0] == 0bv32) && Gamma_R0); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 28bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { lzero: R0, Gamma_R0 := 0bv64, true; diff --git a/src/test/correct/basic_function_call_caller/clang_O2/basic_function_call_caller.expected b/src/test/correct/basic_function_call_caller/clang_O2/basic_function_call_caller.expected index 6811df3ce..b58888874 100644 --- a/src/test/correct/basic_function_call_caller/clang_O2/basic_function_call_caller.expected +++ b/src/test/correct/basic_function_call_caller/clang_O2/basic_function_call_caller.expected @@ -43,6 +43,42 @@ procedure rely(); ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))); ensures (memory_load32_le(mem, $y_addr) == old(memory_load32_le(mem, $y_addr))); + free ensures (memory_load8_le(mem, 1868bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1869bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1870bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1871bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 28bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -69,42 +105,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R10, Gamma_R8, Gamma_R9, Gamma_mem, R0, R10, R8, R9, mem; requires (Gamma_R0 == false); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1868bv64) == 1bv8); free requires (memory_load8_le(mem, 1869bv64) == 0bv8); free requires (memory_load8_le(mem, 1870bv64) == 2bv8); free requires (memory_load8_le(mem, 1871bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 28bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -113,22 +149,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -137,6 +157,42 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1868bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1869bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1870bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1871bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 28bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var Gamma_y_old: bool; var x_old: bv32; diff --git a/src/test/correct/basic_function_call_caller/clang_no_plt_no_pic/basic_function_call_caller.expected b/src/test/correct/basic_function_call_caller/clang_no_plt_no_pic/basic_function_call_caller.expected index 79458de9c..43cb43c13 100644 --- a/src/test/correct/basic_function_call_caller/clang_no_plt_no_pic/basic_function_call_caller.expected +++ b/src/test/correct/basic_function_call_caller/clang_no_plt_no_pic/basic_function_call_caller.expected @@ -65,6 +65,42 @@ procedure rely(); ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))); ensures (memory_load32_le(mem, $y_addr) == old(memory_load32_le(mem, $y_addr))); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 28bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -91,42 +127,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R29, R30, R31, R8, R9, mem, stack; requires (Gamma_R0 == false); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1896bv64) == 1bv8); free requires (memory_load8_le(mem, 1897bv64) == 0bv8); free requires (memory_load8_le(mem, 1898bv64) == 2bv8); free requires (memory_load8_le(mem, 1899bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 28bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -135,22 +171,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -163,6 +183,42 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 28bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv64; var #5: bv64; @@ -210,7 +266,79 @@ procedure main() procedure zero() modifies Gamma_R0, R0; + free requires (memory_load8_le(mem, 1896bv64) == 1bv8); + free requires (memory_load8_le(mem, 1897bv64) == 0bv8); + free requires (memory_load8_le(mem, 1898bv64) == 2bv8); + free requires (memory_load8_le(mem, 1899bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 28bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); ensures ((R0[32:0] == 0bv32) && Gamma_R0); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 28bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { lzero: R0, Gamma_R0 := 0bv64, true; diff --git a/src/test/correct/basic_function_call_caller/gcc/basic_function_call_caller.expected b/src/test/correct/basic_function_call_caller/gcc/basic_function_call_caller.expected index 97fb22283..70a575798 100644 --- a/src/test/correct/basic_function_call_caller/gcc/basic_function_call_caller.expected +++ b/src/test/correct/basic_function_call_caller/gcc/basic_function_call_caller.expected @@ -63,6 +63,42 @@ procedure rely(); ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))); ensures (memory_load32_le(mem, $y_addr) == old(memory_load32_le(mem, $y_addr))); + free ensures (memory_load8_le(mem, 1900bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1901bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1902bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1903bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 28bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -89,98 +125,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, mem, stack; requires (Gamma_R0 == false); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1900bv64) == 1bv8); free requires (memory_load8_le(mem, 1901bv64) == 0bv8); free requires (memory_load8_le(mem, 1902bv64) == 2bv8); free requires (memory_load8_le(mem, 1903bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 28bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -189,22 +169,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -217,6 +181,42 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1900bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1901bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1902bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1903bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 28bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -264,7 +264,79 @@ procedure main() procedure zero() modifies Gamma_R0, R0; + free requires (memory_load8_le(mem, 1900bv64) == 1bv8); + free requires (memory_load8_le(mem, 1901bv64) == 0bv8); + free requires (memory_load8_le(mem, 1902bv64) == 2bv8); + free requires (memory_load8_le(mem, 1903bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 28bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); ensures ((R0[32:0] == 0bv32) && Gamma_R0); + free ensures (memory_load8_le(mem, 1900bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1901bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1902bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1903bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 28bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lzero: R0, Gamma_R0 := 0bv64, true; diff --git a/src/test/correct/basic_function_call_caller/gcc_O2/basic_function_call_caller.expected b/src/test/correct/basic_function_call_caller/gcc_O2/basic_function_call_caller.expected index 63f6b008e..f9825e48a 100644 --- a/src/test/correct/basic_function_call_caller/gcc_O2/basic_function_call_caller.expected +++ b/src/test/correct/basic_function_call_caller/gcc_O2/basic_function_call_caller.expected @@ -43,6 +43,42 @@ procedure rely(); ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))); ensures (memory_load32_le(mem, $y_addr) == old(memory_load32_le(mem, $y_addr))); + free ensures (memory_load8_le(mem, 1916bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1917bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1918bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1919bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -69,98 +105,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R2, Gamma_R3, Gamma_mem, R0, R1, R2, R3, mem; requires (Gamma_R0 == false); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1916bv64) == 1bv8); free requires (memory_load8_le(mem, 1917bv64) == 0bv8); free requires (memory_load8_le(mem, 1918bv64) == 2bv8); free requires (memory_load8_le(mem, 1919bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 80bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 0bv8); + free requires (memory_load8_le(mem, 69025bv64) == 7bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 0bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -169,22 +149,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -193,6 +157,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1916bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1917bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1918bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1919bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var Gamma_y_old: bool; var x_old: bv32; diff --git a/src/test/correct/basic_function_call_caller/gcc_no_plt_no_pic/basic_function_call_caller.expected b/src/test/correct/basic_function_call_caller/gcc_no_plt_no_pic/basic_function_call_caller.expected index fd46ca0fc..cb1ec7075 100644 --- a/src/test/correct/basic_function_call_caller/gcc_no_plt_no_pic/basic_function_call_caller.expected +++ b/src/test/correct/basic_function_call_caller/gcc_no_plt_no_pic/basic_function_call_caller.expected @@ -63,6 +63,42 @@ procedure rely(); ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))); ensures (memory_load32_le(mem, $y_addr) == old(memory_load32_le(mem, $y_addr))); + free ensures (memory_load8_le(mem, 1900bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1901bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1902bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1903bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 28bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -89,98 +125,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, mem, stack; requires (Gamma_R0 == false); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1900bv64) == 1bv8); free requires (memory_load8_le(mem, 1901bv64) == 0bv8); free requires (memory_load8_le(mem, 1902bv64) == 2bv8); free requires (memory_load8_le(mem, 1903bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 28bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -189,22 +169,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -217,6 +181,42 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1900bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1901bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1902bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1903bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 28bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -264,7 +264,79 @@ procedure main() procedure zero() modifies Gamma_R0, R0; + free requires (memory_load8_le(mem, 1900bv64) == 1bv8); + free requires (memory_load8_le(mem, 1901bv64) == 0bv8); + free requires (memory_load8_le(mem, 1902bv64) == 2bv8); + free requires (memory_load8_le(mem, 1903bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 28bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); ensures ((R0[32:0] == 0bv32) && Gamma_R0); + free ensures (memory_load8_le(mem, 1900bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1901bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1902bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1903bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 28bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lzero: R0, Gamma_R0 := 0bv64, true; diff --git a/src/test/correct/basic_function_call_reader/clang/basic_function_call_reader.expected b/src/test/correct/basic_function_call_reader/clang/basic_function_call_reader.expected index ecf4d3172..32ae2f45c 100644 --- a/src/test/correct/basic_function_call_reader/clang/basic_function_call_reader.expected +++ b/src/test/correct/basic_function_call_reader/clang/basic_function_call_reader.expected @@ -51,6 +51,42 @@ procedure rely(); ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((old(memory_load32_le(mem, $x_addr)) == 0bv32) ==> (memory_load32_le(mem, $x_addr) == 0bv32)); ensures (old(gamma_load32(Gamma_mem, $y_addr)) ==> ((memory_load32_le(mem, $x_addr) == 0bv32) || gamma_load32(Gamma_mem, $y_addr))); + free ensures (memory_load8_le(mem, 1908bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1909bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1910bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1911bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -76,42 +112,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_stack, R0, R31, R8, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1908bv64) == 1bv8); free requires (memory_load8_le(mem, 1909bv64) == 0bv8); free requires (memory_load8_le(mem, 1910bv64) == 2bv8); free requires (memory_load8_le(mem, 1911bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -120,22 +156,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -146,6 +166,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1908bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1909bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1910bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1911bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/basic_function_call_reader/clang_O2/basic_function_call_reader.expected b/src/test/correct/basic_function_call_reader/clang_O2/basic_function_call_reader.expected index 4460d7b08..57b5f6b1f 100644 --- a/src/test/correct/basic_function_call_reader/clang_O2/basic_function_call_reader.expected +++ b/src/test/correct/basic_function_call_reader/clang_O2/basic_function_call_reader.expected @@ -41,6 +41,42 @@ procedure rely(); ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((old(memory_load32_le(mem, $x_addr)) == 0bv32) ==> (memory_load32_le(mem, $x_addr) == 0bv32)); ensures (old(gamma_load32(Gamma_mem, $y_addr)) ==> ((memory_load32_le(mem, $x_addr) == 0bv32) || gamma_load32(Gamma_mem, $y_addr))); + free ensures (memory_load8_le(mem, 1860bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1861bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1862bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1863bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -66,42 +102,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R8, Gamma_R9, R0, R8, R9; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1860bv64) == 1bv8); free requires (memory_load8_le(mem, 1861bv64) == 0bv8); free requires (memory_load8_le(mem, 1862bv64) == 2bv8); free requires (memory_load8_le(mem, 1863bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -110,22 +146,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -134,6 +154,42 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1860bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1861bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1862bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1863bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/basic_function_call_reader/clang_no_plt_no_pic/basic_function_call_reader.expected b/src/test/correct/basic_function_call_reader/clang_no_plt_no_pic/basic_function_call_reader.expected index cefe41b5c..0dd94de86 100644 --- a/src/test/correct/basic_function_call_reader/clang_no_plt_no_pic/basic_function_call_reader.expected +++ b/src/test/correct/basic_function_call_reader/clang_no_plt_no_pic/basic_function_call_reader.expected @@ -51,6 +51,42 @@ procedure rely(); ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((old(memory_load32_le(mem, $x_addr)) == 0bv32) ==> (memory_load32_le(mem, $x_addr) == 0bv32)); ensures (old(gamma_load32(Gamma_mem, $y_addr)) ==> ((memory_load32_le(mem, $x_addr) == 0bv32) || gamma_load32(Gamma_mem, $y_addr))); + free ensures (memory_load8_le(mem, 1908bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1909bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1910bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1911bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -76,42 +112,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_stack, R0, R31, R8, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1908bv64) == 1bv8); free requires (memory_load8_le(mem, 1909bv64) == 0bv8); free requires (memory_load8_le(mem, 1910bv64) == 2bv8); free requires (memory_load8_le(mem, 1911bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -120,22 +156,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -146,6 +166,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1908bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1909bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1910bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1911bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/basic_function_call_reader/clang_pic/basic_function_call_reader.expected b/src/test/correct/basic_function_call_reader/clang_pic/basic_function_call_reader.expected index 77f7c418e..8c24e0de1 100644 --- a/src/test/correct/basic_function_call_reader/clang_pic/basic_function_call_reader.expected +++ b/src/test/correct/basic_function_call_reader/clang_pic/basic_function_call_reader.expected @@ -59,6 +59,58 @@ procedure rely(); ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((old(memory_load32_le(mem, $x_addr)) == 0bv32) ==> (memory_load32_le(mem, $x_addr) == 0bv32)); ensures (old(gamma_load32(Gamma_mem, $y_addr)) ==> ((memory_load32_le(mem, $x_addr) == 0bv32) || gamma_load32(Gamma_mem, $y_addr))); + free ensures (memory_load8_le(mem, 1980bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1981bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1982bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1983bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69584bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69585bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69586bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69568bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -84,50 +136,34 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_stack, R0, R31, R8, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1980bv64) == 1bv8); free requires (memory_load8_le(mem, 1981bv64) == 0bv8); free requires (memory_load8_le(mem, 1982bv64) == 2bv8); free requires (memory_load8_le(mem, 1983bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 200bv8); - free requires (memory_load8_le(mem, 69545bv64) == 13bv8); - free requires (memory_load8_le(mem, 69546bv64) == 1bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 0bv8); - free requires (memory_load8_le(mem, 69553bv64) == 0bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 0bv8); - free requires (memory_load8_le(mem, 69561bv64) == 0bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 56bv8); - free requires (memory_load8_le(mem, 69569bv64) == 16bv8); - free requires (memory_load8_le(mem, 69570bv64) == 1bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 69584bv64) == 52bv8); free requires (memory_load8_le(mem, 69585bv64) == 16bv8); free requires (memory_load8_le(mem, 69586bv64) == 1bv8); @@ -136,6 +172,22 @@ procedure main() free requires (memory_load8_le(mem, 69589bv64) == 0bv8); free requires (memory_load8_le(mem, 69590bv64) == 0bv8); free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69048bv64) == 80bv8); + free requires (memory_load8_le(mem, 69049bv64) == 7bv8); + free requires (memory_load8_le(mem, 69050bv64) == 0bv8); + free requires (memory_load8_le(mem, 69051bv64) == 0bv8); + free requires (memory_load8_le(mem, 69052bv64) == 0bv8); + free requires (memory_load8_le(mem, 69053bv64) == 0bv8); + free requires (memory_load8_le(mem, 69054bv64) == 0bv8); + free requires (memory_load8_le(mem, 69055bv64) == 0bv8); + free requires (memory_load8_le(mem, 69568bv64) == 56bv8); + free requires (memory_load8_le(mem, 69569bv64) == 16bv8); + free requires (memory_load8_le(mem, 69570bv64) == 1bv8); + free requires (memory_load8_le(mem, 69571bv64) == 0bv8); + free requires (memory_load8_le(mem, 69572bv64) == 0bv8); + free requires (memory_load8_le(mem, 69573bv64) == 0bv8); + free requires (memory_load8_le(mem, 69574bv64) == 0bv8); + free requires (memory_load8_le(mem, 69575bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 84bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -144,32 +196,68 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 40bv8); - free requires (memory_load8_le(mem, 69673bv64) == 16bv8); - free requires (memory_load8_le(mem, 69674bv64) == 1bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69056bv64) == 0bv8); + free requires (memory_load8_le(mem, 69057bv64) == 7bv8); + free requires (memory_load8_le(mem, 69058bv64) == 0bv8); + free requires (memory_load8_le(mem, 69059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69060bv64) == 0bv8); + free requires (memory_load8_le(mem, 69061bv64) == 0bv8); + free requires (memory_load8_le(mem, 69062bv64) == 0bv8); + free requires (memory_load8_le(mem, 69063bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1980bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1981bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1982bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1983bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69584bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69585bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69586bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69568bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/basic_function_call_reader/gcc/basic_function_call_reader.expected b/src/test/correct/basic_function_call_reader/gcc/basic_function_call_reader.expected index 838387aa5..5928914e4 100644 --- a/src/test/correct/basic_function_call_reader/gcc/basic_function_call_reader.expected +++ b/src/test/correct/basic_function_call_reader/gcc/basic_function_call_reader.expected @@ -49,6 +49,42 @@ procedure rely(); ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((old(memory_load32_le(mem, $x_addr)) == 0bv32) ==> (memory_load32_le(mem, $x_addr) == 0bv32)); ensures (old(gamma_load32(Gamma_mem, $y_addr)) ==> ((memory_load32_le(mem, $x_addr) == 0bv32) || gamma_load32(Gamma_mem, $y_addr))); + free ensures (memory_load8_le(mem, 1892bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1893bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1894bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1895bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -74,98 +110,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R31, Gamma_stack, R0, R31, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1892bv64) == 1bv8); free requires (memory_load8_le(mem, 1893bv64) == 0bv8); free requires (memory_load8_le(mem, 1894bv64) == 2bv8); free requires (memory_load8_le(mem, 1895bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -174,22 +154,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -200,6 +164,42 @@ procedure main() free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1892bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1893bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1894bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1895bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/basic_function_call_reader/gcc_O2/basic_function_call_reader.expected b/src/test/correct/basic_function_call_reader/gcc_O2/basic_function_call_reader.expected index ddef99503..a05527c57 100644 --- a/src/test/correct/basic_function_call_reader/gcc_O2/basic_function_call_reader.expected +++ b/src/test/correct/basic_function_call_reader/gcc_O2/basic_function_call_reader.expected @@ -32,6 +32,42 @@ procedure rely(); ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((old(memory_load32_le(mem, $x_addr)) == 0bv32) ==> (memory_load32_le(mem, $x_addr) == 0bv32)); ensures (old(gamma_load32(Gamma_mem, $y_addr)) ==> ((memory_load32_le(mem, $x_addr) == 0bv32) || gamma_load32(Gamma_mem, $y_addr))); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -57,98 +93,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R1, R0, R1; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1896bv64) == 1bv8); free requires (memory_load8_le(mem, 1897bv64) == 0bv8); free requires (memory_load8_le(mem, 1898bv64) == 2bv8); free requires (memory_load8_le(mem, 1899bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 80bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 0bv8); + free requires (memory_load8_le(mem, 69025bv64) == 7bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 0bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -157,22 +137,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -181,6 +145,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lmain: R0, Gamma_R0 := 69632bv64, true; diff --git a/src/test/correct/basic_function_call_reader/gcc_no_plt_no_pic/basic_function_call_reader.expected b/src/test/correct/basic_function_call_reader/gcc_no_plt_no_pic/basic_function_call_reader.expected index 4d049497b..51a414f85 100644 --- a/src/test/correct/basic_function_call_reader/gcc_no_plt_no_pic/basic_function_call_reader.expected +++ b/src/test/correct/basic_function_call_reader/gcc_no_plt_no_pic/basic_function_call_reader.expected @@ -49,6 +49,42 @@ procedure rely(); ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((old(memory_load32_le(mem, $x_addr)) == 0bv32) ==> (memory_load32_le(mem, $x_addr) == 0bv32)); ensures (old(gamma_load32(Gamma_mem, $y_addr)) ==> ((memory_load32_le(mem, $x_addr) == 0bv32) || gamma_load32(Gamma_mem, $y_addr))); + free ensures (memory_load8_le(mem, 1892bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1893bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1894bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1895bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -74,98 +110,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R31, Gamma_stack, R0, R31, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1892bv64) == 1bv8); free requires (memory_load8_le(mem, 1893bv64) == 0bv8); free requires (memory_load8_le(mem, 1894bv64) == 2bv8); free requires (memory_load8_le(mem, 1895bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -174,22 +154,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -200,6 +164,42 @@ procedure main() free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1892bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1893bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1894bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1895bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/basic_function_call_reader/gcc_pic/basic_function_call_reader.expected b/src/test/correct/basic_function_call_reader/gcc_pic/basic_function_call_reader.expected index 2af305029..e76858798 100644 --- a/src/test/correct/basic_function_call_reader/gcc_pic/basic_function_call_reader.expected +++ b/src/test/correct/basic_function_call_reader/gcc_pic/basic_function_call_reader.expected @@ -57,6 +57,58 @@ procedure rely(); ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((old(memory_load32_le(mem, $x_addr)) == 0bv32) ==> (memory_load32_le(mem, $x_addr) == 0bv32)); ensures (old(gamma_load32(Gamma_mem, $y_addr)) ==> ((memory_load32_le(mem, $x_addr) == 0bv32) || gamma_load32(Gamma_mem, $y_addr))); + free ensures (memory_load8_le(mem, 1956bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1957bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1958bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1959bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69608bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69609bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69610bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69611bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69612bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69613bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69614bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69615bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -82,106 +134,26 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R31, Gamma_stack, R0, R31, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1956bv64) == 1bv8); free requires (memory_load8_le(mem, 1957bv64) == 0bv8); free requires (memory_load8_le(mem, 1958bv64) == 2bv8); free requires (memory_load8_le(mem, 1959bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 208bv8); - free requires (memory_load8_le(mem, 69537bv64) == 5bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 208bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 208bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 152bv8); - free requires (memory_load8_le(mem, 69569bv64) == 13bv8); - free requires (memory_load8_le(mem, 69570bv64) == 1bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 20bv8); - free requires (memory_load8_le(mem, 69593bv64) == 16bv8); - free requires (memory_load8_le(mem, 69594bv64) == 1bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); free requires (memory_load8_le(mem, 69608bv64) == 24bv8); free requires (memory_load8_le(mem, 69609bv64) == 16bv8); free requires (memory_load8_le(mem, 69610bv64) == 1bv8); @@ -190,30 +162,6 @@ procedure main() free requires (memory_load8_le(mem, 69613bv64) == 0bv8); free requires (memory_load8_le(mem, 69614bv64) == 0bv8); free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 84bv8); - free requires (memory_load8_le(mem, 69617bv64) == 7bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -222,8 +170,92 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 84bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 0bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 16bv8); + free requires (memory_load8_le(mem, 69594bv64) == 1bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 80bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1956bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1957bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1958bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1959bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69608bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69609bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69610bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69611bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69612bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69613bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69614bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69615bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/basic_lock_read/clang/basic_lock_read.expected b/src/test/correct/basic_lock_read/clang/basic_lock_read.expected index 677d39f60..39b89b396 100644 --- a/src/test/correct/basic_lock_read/clang/basic_lock_read.expected +++ b/src/test/correct/basic_lock_read/clang/basic_lock_read.expected @@ -50,6 +50,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((old(memory_load32_le(mem, $z_addr)) == 0bv32) ==> ((memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))) && (memory_load32_le(mem, $z_addr) == old(memory_load32_le(mem, $z_addr))))); + free ensures (memory_load8_le(mem, 1900bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1901bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1902bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1903bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -72,42 +108,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_mem, Gamma_stack, R0, R31, R8, mem, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1900bv64) == 1bv8); free requires (memory_load8_le(mem, 1901bv64) == 0bv8); free requires (memory_load8_le(mem, 1902bv64) == 2bv8); free requires (memory_load8_le(mem, 1903bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -116,22 +152,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -143,6 +163,42 @@ procedure main() ensures (R0[32:0] == 0bv32); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1900bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1901bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1902bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1903bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/basic_lock_read/clang_O2/basic_lock_read.expected b/src/test/correct/basic_lock_read/clang_O2/basic_lock_read.expected index aab98ea92..0164d6797 100644 --- a/src/test/correct/basic_lock_read/clang_O2/basic_lock_read.expected +++ b/src/test/correct/basic_lock_read/clang_O2/basic_lock_read.expected @@ -39,6 +39,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((old(memory_load32_le(mem, $z_addr)) == 0bv32) ==> ((memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))) && (memory_load32_le(mem, $z_addr) == old(memory_load32_le(mem, $z_addr))))); + free ensures (memory_load8_le(mem, 1868bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1869bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1870bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1871bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -61,42 +97,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R8, Gamma_mem, R0, R8, mem; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1868bv64) == 1bv8); free requires (memory_load8_le(mem, 1869bv64) == 0bv8); free requires (memory_load8_le(mem, 1870bv64) == 2bv8); free requires (memory_load8_le(mem, 1871bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -105,22 +141,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -130,6 +150,42 @@ procedure main() free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); ensures (R0[32:0] == 0bv32); + free ensures (memory_load8_le(mem, 1868bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1869bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1870bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1871bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var z_old: bv32; lmain: diff --git a/src/test/correct/basic_lock_read/clang_no_plt_no_pic/basic_lock_read.expected b/src/test/correct/basic_lock_read/clang_no_plt_no_pic/basic_lock_read.expected index 49a121052..8ca705fea 100644 --- a/src/test/correct/basic_lock_read/clang_no_plt_no_pic/basic_lock_read.expected +++ b/src/test/correct/basic_lock_read/clang_no_plt_no_pic/basic_lock_read.expected @@ -50,6 +50,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((old(memory_load32_le(mem, $z_addr)) == 0bv32) ==> ((memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))) && (memory_load32_le(mem, $z_addr) == old(memory_load32_le(mem, $z_addr))))); + free ensures (memory_load8_le(mem, 1900bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1901bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1902bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1903bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -72,42 +108,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_mem, Gamma_stack, R0, R31, R8, mem, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1900bv64) == 1bv8); free requires (memory_load8_le(mem, 1901bv64) == 0bv8); free requires (memory_load8_le(mem, 1902bv64) == 2bv8); free requires (memory_load8_le(mem, 1903bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -116,22 +152,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -143,6 +163,42 @@ procedure main() ensures (R0[32:0] == 0bv32); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1900bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1901bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1902bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1903bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/basic_lock_read/clang_pic/basic_lock_read.expected b/src/test/correct/basic_lock_read/clang_pic/basic_lock_read.expected index 617d2df74..c3515e3a1 100644 --- a/src/test/correct/basic_lock_read/clang_pic/basic_lock_read.expected +++ b/src/test/correct/basic_lock_read/clang_pic/basic_lock_read.expected @@ -58,6 +58,58 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((old(memory_load32_le(mem, $z_addr)) == 0bv32) ==> ((memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))) && (memory_load32_le(mem, $z_addr) == old(memory_load32_le(mem, $z_addr))))); + free ensures (memory_load8_le(mem, 1972bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1973bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1974bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1975bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69576bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69577bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69578bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69579bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69580bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69581bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69582bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69583bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69568bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -80,42 +132,26 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_mem, Gamma_stack, R0, R31, R8, mem, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1972bv64) == 1bv8); free requires (memory_load8_le(mem, 1973bv64) == 0bv8); free requires (memory_load8_le(mem, 1974bv64) == 2bv8); free requires (memory_load8_le(mem, 1975bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 200bv8); - free requires (memory_load8_le(mem, 69545bv64) == 13bv8); - free requires (memory_load8_le(mem, 69546bv64) == 1bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 0bv8); - free requires (memory_load8_le(mem, 69553bv64) == 0bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 0bv8); - free requires (memory_load8_le(mem, 69561bv64) == 0bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 52bv8); - free requires (memory_load8_le(mem, 69569bv64) == 16bv8); - free requires (memory_load8_le(mem, 69570bv64) == 1bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); free requires (memory_load8_le(mem, 69576bv64) == 56bv8); free requires (memory_load8_le(mem, 69577bv64) == 16bv8); free requires (memory_load8_le(mem, 69578bv64) == 1bv8); @@ -124,38 +160,6 @@ procedure main() free requires (memory_load8_le(mem, 69581bv64) == 0bv8); free requires (memory_load8_le(mem, 69582bv64) == 0bv8); free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 84bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -164,9 +168,93 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69048bv64) == 80bv8); + free requires (memory_load8_le(mem, 69049bv64) == 7bv8); + free requires (memory_load8_le(mem, 69050bv64) == 0bv8); + free requires (memory_load8_le(mem, 69051bv64) == 0bv8); + free requires (memory_load8_le(mem, 69052bv64) == 0bv8); + free requires (memory_load8_le(mem, 69053bv64) == 0bv8); + free requires (memory_load8_le(mem, 69054bv64) == 0bv8); + free requires (memory_load8_le(mem, 69055bv64) == 0bv8); + free requires (memory_load8_le(mem, 69568bv64) == 52bv8); + free requires (memory_load8_le(mem, 69569bv64) == 16bv8); + free requires (memory_load8_le(mem, 69570bv64) == 1bv8); + free requires (memory_load8_le(mem, 69571bv64) == 0bv8); + free requires (memory_load8_le(mem, 69572bv64) == 0bv8); + free requires (memory_load8_le(mem, 69573bv64) == 0bv8); + free requires (memory_load8_le(mem, 69574bv64) == 0bv8); + free requires (memory_load8_le(mem, 69575bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 84bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69056bv64) == 0bv8); + free requires (memory_load8_le(mem, 69057bv64) == 7bv8); + free requires (memory_load8_le(mem, 69058bv64) == 0bv8); + free requires (memory_load8_le(mem, 69059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69060bv64) == 0bv8); + free requires (memory_load8_le(mem, 69061bv64) == 0bv8); + free requires (memory_load8_le(mem, 69062bv64) == 0bv8); + free requires (memory_load8_le(mem, 69063bv64) == 0bv8); ensures (R0[32:0] == 0bv32); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1972bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1973bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1974bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1975bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69576bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69577bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69578bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69579bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69580bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69581bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69582bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69583bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69568bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/basic_lock_read/gcc/basic_lock_read.expected b/src/test/correct/basic_lock_read/gcc/basic_lock_read.expected index c970de0f0..e9c54a44d 100644 --- a/src/test/correct/basic_lock_read/gcc/basic_lock_read.expected +++ b/src/test/correct/basic_lock_read/gcc/basic_lock_read.expected @@ -48,6 +48,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((old(memory_load32_le(mem, $z_addr)) == 0bv32) ==> ((memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))) && (memory_load32_le(mem, $z_addr) == old(memory_load32_le(mem, $z_addr))))); + free ensures (memory_load8_le(mem, 1900bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1901bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1902bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1903bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -70,98 +106,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R31, Gamma_mem, Gamma_stack, R0, R31, mem, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1900bv64) == 1bv8); free requires (memory_load8_le(mem, 1901bv64) == 0bv8); free requires (memory_load8_le(mem, 1902bv64) == 2bv8); free requires (memory_load8_le(mem, 1903bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -170,22 +150,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -197,6 +161,42 @@ procedure main() ensures (R0[32:0] == 0bv32); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1900bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1901bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1902bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1903bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/basic_lock_read/gcc_O2/basic_lock_read.expected b/src/test/correct/basic_lock_read/gcc_O2/basic_lock_read.expected index 3fb33fd32..c2ab8a7a0 100644 --- a/src/test/correct/basic_lock_read/gcc_O2/basic_lock_read.expected +++ b/src/test/correct/basic_lock_read/gcc_O2/basic_lock_read.expected @@ -40,6 +40,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((old(memory_load32_le(mem, $z_addr)) == 0bv32) ==> ((memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))) && (memory_load32_le(mem, $z_addr) == old(memory_load32_le(mem, $z_addr))))); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -62,98 +98,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1896bv64) == 1bv8); free requires (memory_load8_le(mem, 1897bv64) == 0bv8); free requires (memory_load8_le(mem, 1898bv64) == 2bv8); free requires (memory_load8_le(mem, 1899bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 80bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 0bv8); + free requires (memory_load8_le(mem, 69025bv64) == 7bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 0bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -162,22 +142,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -187,6 +151,42 @@ procedure main() free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); ensures (R0[32:0] == 0bv32); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var z_old: bv32; lmain: diff --git a/src/test/correct/basic_lock_read/gcc_no_plt_no_pic/basic_lock_read.expected b/src/test/correct/basic_lock_read/gcc_no_plt_no_pic/basic_lock_read.expected index 758b1209e..349d3cb9c 100644 --- a/src/test/correct/basic_lock_read/gcc_no_plt_no_pic/basic_lock_read.expected +++ b/src/test/correct/basic_lock_read/gcc_no_plt_no_pic/basic_lock_read.expected @@ -48,6 +48,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((old(memory_load32_le(mem, $z_addr)) == 0bv32) ==> ((memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))) && (memory_load32_le(mem, $z_addr) == old(memory_load32_le(mem, $z_addr))))); + free ensures (memory_load8_le(mem, 1900bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1901bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1902bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1903bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -70,98 +106,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R31, Gamma_mem, Gamma_stack, R0, R31, mem, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1900bv64) == 1bv8); free requires (memory_load8_le(mem, 1901bv64) == 0bv8); free requires (memory_load8_le(mem, 1902bv64) == 2bv8); free requires (memory_load8_le(mem, 1903bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -170,22 +150,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -197,6 +161,42 @@ procedure main() ensures (R0[32:0] == 0bv32); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1900bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1901bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1902bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1903bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/basic_lock_security_read/clang/basic_lock_security_read.expected b/src/test/correct/basic_lock_security_read/clang/basic_lock_security_read.expected index bf9b5808c..909c49760 100644 --- a/src/test/correct/basic_lock_security_read/clang/basic_lock_security_read.expected +++ b/src/test/correct/basic_lock_security_read/clang/basic_lock_security_read.expected @@ -50,6 +50,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((old(memory_load32_le(mem, $z_addr)) == 0bv32) ==> ((memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))) && (memory_load32_le(mem, $z_addr) == old(memory_load32_le(mem, $z_addr))))); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -72,42 +108,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_stack, R0, R31, R8, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1896bv64) == 1bv8); free requires (memory_load8_le(mem, 1897bv64) == 0bv8); free requires (memory_load8_le(mem, 1898bv64) == 2bv8); free requires (memory_load8_le(mem, 1899bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -116,22 +152,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -142,6 +162,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/basic_lock_security_read/clang_O2/basic_lock_security_read.expected b/src/test/correct/basic_lock_security_read/clang_O2/basic_lock_security_read.expected index 8f63265f2..60ffd34a1 100644 --- a/src/test/correct/basic_lock_security_read/clang_O2/basic_lock_security_read.expected +++ b/src/test/correct/basic_lock_security_read/clang_O2/basic_lock_security_read.expected @@ -40,6 +40,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((old(memory_load32_le(mem, $z_addr)) == 0bv32) ==> ((memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))) && (memory_load32_le(mem, $z_addr) == old(memory_load32_le(mem, $z_addr))))); + free ensures (memory_load8_le(mem, 1860bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1861bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1862bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1863bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -62,42 +98,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R8, Gamma_R9, R0, R8, R9; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1860bv64) == 1bv8); free requires (memory_load8_le(mem, 1861bv64) == 0bv8); free requires (memory_load8_le(mem, 1862bv64) == 2bv8); free requires (memory_load8_le(mem, 1863bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -106,22 +142,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -130,6 +150,42 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1860bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1861bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1862bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1863bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/basic_lock_security_read/clang_no_plt_no_pic/basic_lock_security_read.expected b/src/test/correct/basic_lock_security_read/clang_no_plt_no_pic/basic_lock_security_read.expected index dec4dd448..1f847b4e3 100644 --- a/src/test/correct/basic_lock_security_read/clang_no_plt_no_pic/basic_lock_security_read.expected +++ b/src/test/correct/basic_lock_security_read/clang_no_plt_no_pic/basic_lock_security_read.expected @@ -50,6 +50,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((old(memory_load32_le(mem, $z_addr)) == 0bv32) ==> ((memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))) && (memory_load32_le(mem, $z_addr) == old(memory_load32_le(mem, $z_addr))))); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -72,42 +108,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_stack, R0, R31, R8, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1896bv64) == 1bv8); free requires (memory_load8_le(mem, 1897bv64) == 0bv8); free requires (memory_load8_le(mem, 1898bv64) == 2bv8); free requires (memory_load8_le(mem, 1899bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -116,22 +152,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -142,6 +162,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/basic_lock_security_read/clang_pic/basic_lock_security_read.expected b/src/test/correct/basic_lock_security_read/clang_pic/basic_lock_security_read.expected index 09ed16b58..4749ff48f 100644 --- a/src/test/correct/basic_lock_security_read/clang_pic/basic_lock_security_read.expected +++ b/src/test/correct/basic_lock_security_read/clang_pic/basic_lock_security_read.expected @@ -58,6 +58,58 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((old(memory_load32_le(mem, $z_addr)) == 0bv32) ==> ((memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))) && (memory_load32_le(mem, $z_addr) == old(memory_load32_le(mem, $z_addr))))); + free ensures (memory_load8_le(mem, 1968bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1969bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1970bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1971bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69576bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69577bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69578bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69579bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69580bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69581bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69582bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69583bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69568bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -80,42 +132,26 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_stack, R0, R31, R8, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1968bv64) == 1bv8); free requires (memory_load8_le(mem, 1969bv64) == 0bv8); free requires (memory_load8_le(mem, 1970bv64) == 2bv8); free requires (memory_load8_le(mem, 1971bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 200bv8); - free requires (memory_load8_le(mem, 69545bv64) == 13bv8); - free requires (memory_load8_le(mem, 69546bv64) == 1bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 0bv8); - free requires (memory_load8_le(mem, 69553bv64) == 0bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 0bv8); - free requires (memory_load8_le(mem, 69561bv64) == 0bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 52bv8); - free requires (memory_load8_le(mem, 69569bv64) == 16bv8); - free requires (memory_load8_le(mem, 69570bv64) == 1bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); free requires (memory_load8_le(mem, 69576bv64) == 56bv8); free requires (memory_load8_le(mem, 69577bv64) == 16bv8); free requires (memory_load8_le(mem, 69578bv64) == 1bv8); @@ -124,38 +160,6 @@ procedure main() free requires (memory_load8_le(mem, 69581bv64) == 0bv8); free requires (memory_load8_le(mem, 69582bv64) == 0bv8); free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 84bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -164,8 +168,92 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69048bv64) == 80bv8); + free requires (memory_load8_le(mem, 69049bv64) == 7bv8); + free requires (memory_load8_le(mem, 69050bv64) == 0bv8); + free requires (memory_load8_le(mem, 69051bv64) == 0bv8); + free requires (memory_load8_le(mem, 69052bv64) == 0bv8); + free requires (memory_load8_le(mem, 69053bv64) == 0bv8); + free requires (memory_load8_le(mem, 69054bv64) == 0bv8); + free requires (memory_load8_le(mem, 69055bv64) == 0bv8); + free requires (memory_load8_le(mem, 69568bv64) == 52bv8); + free requires (memory_load8_le(mem, 69569bv64) == 16bv8); + free requires (memory_load8_le(mem, 69570bv64) == 1bv8); + free requires (memory_load8_le(mem, 69571bv64) == 0bv8); + free requires (memory_load8_le(mem, 69572bv64) == 0bv8); + free requires (memory_load8_le(mem, 69573bv64) == 0bv8); + free requires (memory_load8_le(mem, 69574bv64) == 0bv8); + free requires (memory_load8_le(mem, 69575bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 84bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69056bv64) == 0bv8); + free requires (memory_load8_le(mem, 69057bv64) == 7bv8); + free requires (memory_load8_le(mem, 69058bv64) == 0bv8); + free requires (memory_load8_le(mem, 69059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69060bv64) == 0bv8); + free requires (memory_load8_le(mem, 69061bv64) == 0bv8); + free requires (memory_load8_le(mem, 69062bv64) == 0bv8); + free requires (memory_load8_le(mem, 69063bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1968bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1969bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1970bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1971bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69576bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69577bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69578bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69579bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69580bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69581bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69582bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69583bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69568bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/basic_lock_security_read/gcc/basic_lock_security_read.expected b/src/test/correct/basic_lock_security_read/gcc/basic_lock_security_read.expected index e58618579..3090deb2c 100644 --- a/src/test/correct/basic_lock_security_read/gcc/basic_lock_security_read.expected +++ b/src/test/correct/basic_lock_security_read/gcc/basic_lock_security_read.expected @@ -48,6 +48,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((old(memory_load32_le(mem, $z_addr)) == 0bv32) ==> ((memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))) && (memory_load32_le(mem, $z_addr) == old(memory_load32_le(mem, $z_addr))))); + free ensures (memory_load8_le(mem, 1888bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1889bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1890bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1891bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -70,98 +106,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R31, Gamma_stack, R0, R31, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1888bv64) == 1bv8); free requires (memory_load8_le(mem, 1889bv64) == 0bv8); free requires (memory_load8_le(mem, 1890bv64) == 2bv8); free requires (memory_load8_le(mem, 1891bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -170,22 +150,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -196,6 +160,42 @@ procedure main() free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1888bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1889bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1890bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1891bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/basic_lock_security_read/gcc_O2/basic_lock_security_read.expected b/src/test/correct/basic_lock_security_read/gcc_O2/basic_lock_security_read.expected index 194a6f836..f247d9669 100644 --- a/src/test/correct/basic_lock_security_read/gcc_O2/basic_lock_security_read.expected +++ b/src/test/correct/basic_lock_security_read/gcc_O2/basic_lock_security_read.expected @@ -34,6 +34,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((old(memory_load32_le(mem, $z_addr)) == 0bv32) ==> ((memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))) && (memory_load32_le(mem, $z_addr) == old(memory_load32_le(mem, $z_addr))))); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -56,98 +92,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R2, R0, R1, R2; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1896bv64) == 1bv8); free requires (memory_load8_le(mem, 1897bv64) == 0bv8); free requires (memory_load8_le(mem, 1898bv64) == 2bv8); free requires (memory_load8_le(mem, 1899bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 80bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 0bv8); + free requires (memory_load8_le(mem, 69025bv64) == 7bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 0bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -156,22 +136,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -180,6 +144,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lmain: R1, Gamma_R1 := 69632bv64, true; diff --git a/src/test/correct/basic_lock_security_read/gcc_no_plt_no_pic/basic_lock_security_read.expected b/src/test/correct/basic_lock_security_read/gcc_no_plt_no_pic/basic_lock_security_read.expected index 7be9ec4b0..6cd5b78f6 100644 --- a/src/test/correct/basic_lock_security_read/gcc_no_plt_no_pic/basic_lock_security_read.expected +++ b/src/test/correct/basic_lock_security_read/gcc_no_plt_no_pic/basic_lock_security_read.expected @@ -48,6 +48,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((old(memory_load32_le(mem, $z_addr)) == 0bv32) ==> ((memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))) && (memory_load32_le(mem, $z_addr) == old(memory_load32_le(mem, $z_addr))))); + free ensures (memory_load8_le(mem, 1888bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1889bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1890bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1891bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -70,98 +106,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R31, Gamma_stack, R0, R31, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1888bv64) == 1bv8); free requires (memory_load8_le(mem, 1889bv64) == 0bv8); free requires (memory_load8_le(mem, 1890bv64) == 2bv8); free requires (memory_load8_le(mem, 1891bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -170,22 +150,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -196,6 +160,42 @@ procedure main() free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1888bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1889bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1890bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1891bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/basic_lock_security_read/gcc_pic/basic_lock_security_read.expected b/src/test/correct/basic_lock_security_read/gcc_pic/basic_lock_security_read.expected index 70b74f523..1f0725790 100644 --- a/src/test/correct/basic_lock_security_read/gcc_pic/basic_lock_security_read.expected +++ b/src/test/correct/basic_lock_security_read/gcc_pic/basic_lock_security_read.expected @@ -56,6 +56,58 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((old(memory_load32_le(mem, $z_addr)) == 0bv32) ==> ((memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))) && (memory_load32_le(mem, $z_addr) == old(memory_load32_le(mem, $z_addr))))); + free ensures (memory_load8_le(mem, 1952bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1953bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1954bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1955bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69600bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69601bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69602bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69603bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69604bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69605bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69606bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69607bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -78,130 +130,6 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R31, Gamma_stack, R0, R31, stack; - free requires (memory_load8_le(mem, 1952bv64) == 1bv8); - free requires (memory_load8_le(mem, 1953bv64) == 0bv8); - free requires (memory_load8_le(mem, 1954bv64) == 2bv8); - free requires (memory_load8_le(mem, 1955bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 208bv8); - free requires (memory_load8_le(mem, 69537bv64) == 5bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 208bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 208bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 152bv8); - free requires (memory_load8_le(mem, 69569bv64) == 13bv8); - free requires (memory_load8_le(mem, 69570bv64) == 1bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 24bv8); - free requires (memory_load8_le(mem, 69593bv64) == 16bv8); - free requires (memory_load8_le(mem, 69594bv64) == 1bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 20bv8); - free requires (memory_load8_le(mem, 69601bv64) == 16bv8); - free requires (memory_load8_le(mem, 69602bv64) == 1bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 84bv8); - free requires (memory_load8_le(mem, 69617bv64) == 7bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -218,8 +146,112 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 1952bv64) == 1bv8); + free requires (memory_load8_le(mem, 1953bv64) == 0bv8); + free requires (memory_load8_le(mem, 1954bv64) == 2bv8); + free requires (memory_load8_le(mem, 1955bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 84bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69600bv64) == 20bv8); + free requires (memory_load8_le(mem, 69601bv64) == 16bv8); + free requires (memory_load8_le(mem, 69602bv64) == 1bv8); + free requires (memory_load8_le(mem, 69603bv64) == 0bv8); + free requires (memory_load8_le(mem, 69604bv64) == 0bv8); + free requires (memory_load8_le(mem, 69605bv64) == 0bv8); + free requires (memory_load8_le(mem, 69606bv64) == 0bv8); + free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 0bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 24bv8); + free requires (memory_load8_le(mem, 69593bv64) == 16bv8); + free requires (memory_load8_le(mem, 69594bv64) == 1bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 80bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1952bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1953bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1954bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1955bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69600bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69601bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69602bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69603bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69604bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69605bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69606bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69607bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/basic_lock_security_write/clang/basic_lock_security_write.expected b/src/test/correct/basic_lock_security_write/clang/basic_lock_security_write.expected index cf4175f7f..414feba29 100644 --- a/src/test/correct/basic_lock_security_write/clang/basic_lock_security_write.expected +++ b/src/test/correct/basic_lock_security_write/clang/basic_lock_security_write.expected @@ -46,6 +46,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((memory_load32_le(mem, $z_addr) == old(memory_load32_le(mem, $z_addr))) && (memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr)))); + free ensures (memory_load8_le(mem, 1884bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1885bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1886bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1887bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -70,42 +106,42 @@ procedure main() modifies Gamma_R0, Gamma_R10, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R10, R31, R8, R9, mem, stack; requires (memory_load32_le(mem, $z_addr) != 0bv32); requires (Gamma_R0 == false); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1884bv64) == 1bv8); free requires (memory_load8_le(mem, 1885bv64) == 0bv8); free requires (memory_load8_le(mem, 1886bv64) == 2bv8); free requires (memory_load8_le(mem, 1887bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -114,22 +150,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -140,6 +160,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1884bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1885bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1886bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1887bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var Gamma_x_old: bool; var x_old: bv32; diff --git a/src/test/correct/basic_lock_security_write/clang_O2/basic_lock_security_write.expected b/src/test/correct/basic_lock_security_write/clang_O2/basic_lock_security_write.expected index 39a559efe..e3192cd48 100644 --- a/src/test/correct/basic_lock_security_write/clang_O2/basic_lock_security_write.expected +++ b/src/test/correct/basic_lock_security_write/clang_O2/basic_lock_security_write.expected @@ -39,6 +39,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((memory_load32_le(mem, $z_addr) == old(memory_load32_le(mem, $z_addr))) && (memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr)))); + free ensures (memory_load8_le(mem, 1856bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1857bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1858bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1859bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -63,42 +99,42 @@ procedure main() modifies Gamma_R0, Gamma_R8, Gamma_R9, Gamma_mem, R0, R8, R9, mem; requires (memory_load32_le(mem, $z_addr) != 0bv32); requires (Gamma_R0 == false); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1856bv64) == 1bv8); free requires (memory_load8_le(mem, 1857bv64) == 0bv8); free requires (memory_load8_le(mem, 1858bv64) == 2bv8); free requires (memory_load8_le(mem, 1859bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -107,22 +143,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -131,6 +151,42 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1856bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1857bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1858bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1859bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var Gamma_x_old: bool; var x_old: bv32; diff --git a/src/test/correct/basic_lock_security_write/clang_no_plt_no_pic/basic_lock_security_write.expected b/src/test/correct/basic_lock_security_write/clang_no_plt_no_pic/basic_lock_security_write.expected index cf4175f7f..414feba29 100644 --- a/src/test/correct/basic_lock_security_write/clang_no_plt_no_pic/basic_lock_security_write.expected +++ b/src/test/correct/basic_lock_security_write/clang_no_plt_no_pic/basic_lock_security_write.expected @@ -46,6 +46,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((memory_load32_le(mem, $z_addr) == old(memory_load32_le(mem, $z_addr))) && (memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr)))); + free ensures (memory_load8_le(mem, 1884bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1885bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1886bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1887bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -70,42 +106,42 @@ procedure main() modifies Gamma_R0, Gamma_R10, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R10, R31, R8, R9, mem, stack; requires (memory_load32_le(mem, $z_addr) != 0bv32); requires (Gamma_R0 == false); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1884bv64) == 1bv8); free requires (memory_load8_le(mem, 1885bv64) == 0bv8); free requires (memory_load8_le(mem, 1886bv64) == 2bv8); free requires (memory_load8_le(mem, 1887bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -114,22 +150,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -140,6 +160,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1884bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1885bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1886bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1887bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var Gamma_x_old: bool; var x_old: bv32; diff --git a/src/test/correct/basic_lock_security_write/gcc/basic_lock_security_write.expected b/src/test/correct/basic_lock_security_write/gcc/basic_lock_security_write.expected index 22d98ae4f..fa2acfbec 100644 --- a/src/test/correct/basic_lock_security_write/gcc/basic_lock_security_write.expected +++ b/src/test/correct/basic_lock_security_write/gcc/basic_lock_security_write.expected @@ -42,6 +42,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((memory_load32_le(mem, $z_addr) == old(memory_load32_le(mem, $z_addr))) && (memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr)))); + free ensures (memory_load8_le(mem, 1908bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1909bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1910bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1911bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -66,98 +102,42 @@ procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R31, mem, stack; requires (memory_load32_le(mem, $z_addr) != 0bv32); requires (Gamma_R0 == false); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1908bv64) == 1bv8); free requires (memory_load8_le(mem, 1909bv64) == 0bv8); free requires (memory_load8_le(mem, 1910bv64) == 2bv8); free requires (memory_load8_le(mem, 1911bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -166,22 +146,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -192,6 +156,42 @@ procedure main() free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1908bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1909bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1910bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1911bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var Gamma_x_old: bool; var x_old: bv32; diff --git a/src/test/correct/basic_lock_security_write/gcc_O2/basic_lock_security_write.expected b/src/test/correct/basic_lock_security_write/gcc_O2/basic_lock_security_write.expected index 1875f5fe8..d2c37e412 100644 --- a/src/test/correct/basic_lock_security_write/gcc_O2/basic_lock_security_write.expected +++ b/src/test/correct/basic_lock_security_write/gcc_O2/basic_lock_security_write.expected @@ -39,6 +39,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((memory_load32_le(mem, $z_addr) == old(memory_load32_le(mem, $z_addr))) && (memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr)))); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -63,98 +99,42 @@ procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R2, Gamma_mem, R0, R1, R2, mem; requires (memory_load32_le(mem, $z_addr) != 0bv32); requires (Gamma_R0 == false); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1896bv64) == 1bv8); free requires (memory_load8_le(mem, 1897bv64) == 0bv8); free requires (memory_load8_le(mem, 1898bv64) == 2bv8); free requires (memory_load8_le(mem, 1899bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 80bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 0bv8); + free requires (memory_load8_le(mem, 69025bv64) == 7bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 0bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -163,22 +143,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -187,6 +151,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var Gamma_x_old: bool; var x_old: bv32; diff --git a/src/test/correct/basic_lock_security_write/gcc_no_plt_no_pic/basic_lock_security_write.expected b/src/test/correct/basic_lock_security_write/gcc_no_plt_no_pic/basic_lock_security_write.expected index 22d98ae4f..fa2acfbec 100644 --- a/src/test/correct/basic_lock_security_write/gcc_no_plt_no_pic/basic_lock_security_write.expected +++ b/src/test/correct/basic_lock_security_write/gcc_no_plt_no_pic/basic_lock_security_write.expected @@ -42,6 +42,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((memory_load32_le(mem, $z_addr) == old(memory_load32_le(mem, $z_addr))) && (memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr)))); + free ensures (memory_load8_le(mem, 1908bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1909bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1910bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1911bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -66,98 +102,42 @@ procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R31, mem, stack; requires (memory_load32_le(mem, $z_addr) != 0bv32); requires (Gamma_R0 == false); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1908bv64) == 1bv8); free requires (memory_load8_le(mem, 1909bv64) == 0bv8); free requires (memory_load8_le(mem, 1910bv64) == 2bv8); free requires (memory_load8_le(mem, 1911bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -166,22 +146,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -192,6 +156,42 @@ procedure main() free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1908bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1909bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1910bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1911bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var Gamma_x_old: bool; var x_old: bv32; diff --git a/src/test/correct/basic_lock_unlock/clang/basic_lock_unlock.expected b/src/test/correct/basic_lock_unlock/clang/basic_lock_unlock.expected index 30e73eebb..2be16ee76 100644 --- a/src/test/correct/basic_lock_unlock/clang/basic_lock_unlock.expected +++ b/src/test/correct/basic_lock_unlock/clang/basic_lock_unlock.expected @@ -35,6 +35,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $z_addr) == old(memory_load32_le(mem, $z_addr))); + free ensures (memory_load8_le(mem, 1860bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1861bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1862bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1863bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -58,42 +94,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R8, Gamma_R9, Gamma_mem, R0, R8, R9, mem; requires (memory_load32_le(mem, $z_addr) == 1bv32); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1860bv64) == 1bv8); free requires (memory_load8_le(mem, 1861bv64) == 0bv8); free requires (memory_load8_le(mem, 1862bv64) == 2bv8); free requires (memory_load8_le(mem, 1863bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -102,22 +138,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -126,6 +146,42 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1860bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1861bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1862bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1863bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var x_old: bv32; var z_old: bv32; diff --git a/src/test/correct/basic_lock_unlock/clang_O2/basic_lock_unlock.expected b/src/test/correct/basic_lock_unlock/clang_O2/basic_lock_unlock.expected index 68af21398..2c876c353 100644 --- a/src/test/correct/basic_lock_unlock/clang_O2/basic_lock_unlock.expected +++ b/src/test/correct/basic_lock_unlock/clang_O2/basic_lock_unlock.expected @@ -37,6 +37,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $z_addr) == old(memory_load32_le(mem, $z_addr))); + free ensures (memory_load8_le(mem, 1860bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1861bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1862bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1863bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -60,42 +96,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R10, Gamma_R8, Gamma_R9, Gamma_mem, R0, R10, R8, R9, mem; requires (memory_load32_le(mem, $z_addr) == 1bv32); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1860bv64) == 1bv8); free requires (memory_load8_le(mem, 1861bv64) == 0bv8); free requires (memory_load8_le(mem, 1862bv64) == 2bv8); free requires (memory_load8_le(mem, 1863bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -104,22 +140,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -128,6 +148,42 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1860bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1861bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1862bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1863bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var x_old: bv32; var z_old: bv32; diff --git a/src/test/correct/basic_lock_unlock/clang_no_plt_no_pic/basic_lock_unlock.expected b/src/test/correct/basic_lock_unlock/clang_no_plt_no_pic/basic_lock_unlock.expected index 30e73eebb..2be16ee76 100644 --- a/src/test/correct/basic_lock_unlock/clang_no_plt_no_pic/basic_lock_unlock.expected +++ b/src/test/correct/basic_lock_unlock/clang_no_plt_no_pic/basic_lock_unlock.expected @@ -35,6 +35,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $z_addr) == old(memory_load32_le(mem, $z_addr))); + free ensures (memory_load8_le(mem, 1860bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1861bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1862bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1863bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -58,42 +94,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R8, Gamma_R9, Gamma_mem, R0, R8, R9, mem; requires (memory_load32_le(mem, $z_addr) == 1bv32); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1860bv64) == 1bv8); free requires (memory_load8_le(mem, 1861bv64) == 0bv8); free requires (memory_load8_le(mem, 1862bv64) == 2bv8); free requires (memory_load8_le(mem, 1863bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -102,22 +138,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -126,6 +146,42 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1860bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1861bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1862bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1863bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var x_old: bv32; var z_old: bv32; diff --git a/src/test/correct/basic_lock_unlock/clang_pic/basic_lock_unlock.expected b/src/test/correct/basic_lock_unlock/clang_pic/basic_lock_unlock.expected index 1b88605a1..ef2eb4400 100644 --- a/src/test/correct/basic_lock_unlock/clang_pic/basic_lock_unlock.expected +++ b/src/test/correct/basic_lock_unlock/clang_pic/basic_lock_unlock.expected @@ -43,6 +43,58 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $z_addr) == old(memory_load32_le(mem, $z_addr))); + free ensures (memory_load8_le(mem, 1932bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1933bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1934bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1935bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69576bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69577bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69578bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69579bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69580bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69581bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69582bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69583bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69568bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -66,42 +118,26 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R8, Gamma_R9, Gamma_mem, R0, R8, R9, mem; requires (memory_load32_le(mem, $z_addr) == 1bv32); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1932bv64) == 1bv8); free requires (memory_load8_le(mem, 1933bv64) == 0bv8); free requires (memory_load8_le(mem, 1934bv64) == 2bv8); free requires (memory_load8_le(mem, 1935bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 200bv8); - free requires (memory_load8_le(mem, 69545bv64) == 13bv8); - free requires (memory_load8_le(mem, 69546bv64) == 1bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 0bv8); - free requires (memory_load8_le(mem, 69553bv64) == 0bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 0bv8); - free requires (memory_load8_le(mem, 69561bv64) == 0bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 56bv8); - free requires (memory_load8_le(mem, 69569bv64) == 16bv8); - free requires (memory_load8_le(mem, 69570bv64) == 1bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); free requires (memory_load8_le(mem, 69576bv64) == 52bv8); free requires (memory_load8_le(mem, 69577bv64) == 16bv8); free requires (memory_load8_le(mem, 69578bv64) == 1bv8); @@ -110,38 +146,6 @@ procedure main() free requires (memory_load8_le(mem, 69581bv64) == 0bv8); free requires (memory_load8_le(mem, 69582bv64) == 0bv8); free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 84bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -150,6 +154,90 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69048bv64) == 80bv8); + free requires (memory_load8_le(mem, 69049bv64) == 7bv8); + free requires (memory_load8_le(mem, 69050bv64) == 0bv8); + free requires (memory_load8_le(mem, 69051bv64) == 0bv8); + free requires (memory_load8_le(mem, 69052bv64) == 0bv8); + free requires (memory_load8_le(mem, 69053bv64) == 0bv8); + free requires (memory_load8_le(mem, 69054bv64) == 0bv8); + free requires (memory_load8_le(mem, 69055bv64) == 0bv8); + free requires (memory_load8_le(mem, 69568bv64) == 56bv8); + free requires (memory_load8_le(mem, 69569bv64) == 16bv8); + free requires (memory_load8_le(mem, 69570bv64) == 1bv8); + free requires (memory_load8_le(mem, 69571bv64) == 0bv8); + free requires (memory_load8_le(mem, 69572bv64) == 0bv8); + free requires (memory_load8_le(mem, 69573bv64) == 0bv8); + free requires (memory_load8_le(mem, 69574bv64) == 0bv8); + free requires (memory_load8_le(mem, 69575bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 84bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69056bv64) == 0bv8); + free requires (memory_load8_le(mem, 69057bv64) == 7bv8); + free requires (memory_load8_le(mem, 69058bv64) == 0bv8); + free requires (memory_load8_le(mem, 69059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69060bv64) == 0bv8); + free requires (memory_load8_le(mem, 69061bv64) == 0bv8); + free requires (memory_load8_le(mem, 69062bv64) == 0bv8); + free requires (memory_load8_le(mem, 69063bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1932bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1933bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1934bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1935bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69576bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69577bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69578bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69579bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69580bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69581bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69582bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69583bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69568bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); { var x_old: bv32; var z_old: bv32; diff --git a/src/test/correct/basic_lock_unlock/gcc/basic_lock_unlock.expected b/src/test/correct/basic_lock_unlock/gcc/basic_lock_unlock.expected index 0d28f98f6..94a6f5d32 100644 --- a/src/test/correct/basic_lock_unlock/gcc/basic_lock_unlock.expected +++ b/src/test/correct/basic_lock_unlock/gcc/basic_lock_unlock.expected @@ -33,6 +33,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $z_addr) == old(memory_load32_le(mem, $z_addr))); + free ensures (memory_load8_le(mem, 1868bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1869bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1870bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1871bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -56,98 +92,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; requires (memory_load32_le(mem, $z_addr) == 1bv32); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1868bv64) == 1bv8); free requires (memory_load8_le(mem, 1869bv64) == 0bv8); free requires (memory_load8_le(mem, 1870bv64) == 2bv8); free requires (memory_load8_le(mem, 1871bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -156,22 +136,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -180,6 +144,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1868bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1869bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1870bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1871bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var x_old: bv32; var z_old: bv32; diff --git a/src/test/correct/basic_lock_unlock/gcc_O2/basic_lock_unlock.expected b/src/test/correct/basic_lock_unlock/gcc_O2/basic_lock_unlock.expected index 82c5049bb..fc98878f7 100644 --- a/src/test/correct/basic_lock_unlock/gcc_O2/basic_lock_unlock.expected +++ b/src/test/correct/basic_lock_unlock/gcc_O2/basic_lock_unlock.expected @@ -37,6 +37,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $z_addr) == old(memory_load32_le(mem, $z_addr))); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -60,98 +96,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R2, Gamma_R3, Gamma_mem, R0, R1, R2, R3, mem; requires (memory_load32_le(mem, $z_addr) == 1bv32); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1896bv64) == 1bv8); free requires (memory_load8_le(mem, 1897bv64) == 0bv8); free requires (memory_load8_le(mem, 1898bv64) == 2bv8); free requires (memory_load8_le(mem, 1899bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 80bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 0bv8); + free requires (memory_load8_le(mem, 69025bv64) == 7bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 0bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -160,22 +140,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -184,6 +148,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var x_old: bv32; var z_old: bv32; diff --git a/src/test/correct/basic_lock_unlock/gcc_no_plt_no_pic/basic_lock_unlock.expected b/src/test/correct/basic_lock_unlock/gcc_no_plt_no_pic/basic_lock_unlock.expected index 0d28f98f6..94a6f5d32 100644 --- a/src/test/correct/basic_lock_unlock/gcc_no_plt_no_pic/basic_lock_unlock.expected +++ b/src/test/correct/basic_lock_unlock/gcc_no_plt_no_pic/basic_lock_unlock.expected @@ -33,6 +33,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $z_addr) == old(memory_load32_le(mem, $z_addr))); + free ensures (memory_load8_le(mem, 1868bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1869bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1870bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1871bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -56,98 +92,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; requires (memory_load32_le(mem, $z_addr) == 1bv32); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1868bv64) == 1bv8); free requires (memory_load8_le(mem, 1869bv64) == 0bv8); free requires (memory_load8_le(mem, 1870bv64) == 2bv8); free requires (memory_load8_le(mem, 1871bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -156,22 +136,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -180,6 +144,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1868bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1869bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1870bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1871bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var x_old: bv32; var z_old: bv32; diff --git a/src/test/correct/basic_lock_unlock/gcc_pic/basic_lock_unlock.expected b/src/test/correct/basic_lock_unlock/gcc_pic/basic_lock_unlock.expected index cb05a76ca..9a77d9cee 100644 --- a/src/test/correct/basic_lock_unlock/gcc_pic/basic_lock_unlock.expected +++ b/src/test/correct/basic_lock_unlock/gcc_pic/basic_lock_unlock.expected @@ -41,6 +41,58 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $z_addr) == old(memory_load32_le(mem, $z_addr))); + free ensures (memory_load8_le(mem, 1932bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1933bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1934bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1935bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69600bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69601bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69602bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69603bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69604bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69605bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69606bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69607bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -64,130 +116,6 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; requires (memory_load32_le(mem, $z_addr) == 1bv32); - free requires (memory_load8_le(mem, 1932bv64) == 1bv8); - free requires (memory_load8_le(mem, 1933bv64) == 0bv8); - free requires (memory_load8_le(mem, 1934bv64) == 2bv8); - free requires (memory_load8_le(mem, 1935bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 208bv8); - free requires (memory_load8_le(mem, 69537bv64) == 5bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 208bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 208bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 152bv8); - free requires (memory_load8_le(mem, 69569bv64) == 13bv8); - free requires (memory_load8_le(mem, 69570bv64) == 1bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 24bv8); - free requires (memory_load8_le(mem, 69593bv64) == 16bv8); - free requires (memory_load8_le(mem, 69594bv64) == 1bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 20bv8); - free requires (memory_load8_le(mem, 69601bv64) == 16bv8); - free requires (memory_load8_le(mem, 69602bv64) == 1bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 84bv8); - free requires (memory_load8_le(mem, 69617bv64) == 7bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -204,6 +132,110 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 1932bv64) == 1bv8); + free requires (memory_load8_le(mem, 1933bv64) == 0bv8); + free requires (memory_load8_le(mem, 1934bv64) == 2bv8); + free requires (memory_load8_le(mem, 1935bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 84bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69600bv64) == 20bv8); + free requires (memory_load8_le(mem, 69601bv64) == 16bv8); + free requires (memory_load8_le(mem, 69602bv64) == 1bv8); + free requires (memory_load8_le(mem, 69603bv64) == 0bv8); + free requires (memory_load8_le(mem, 69604bv64) == 0bv8); + free requires (memory_load8_le(mem, 69605bv64) == 0bv8); + free requires (memory_load8_le(mem, 69606bv64) == 0bv8); + free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 0bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 24bv8); + free requires (memory_load8_le(mem, 69593bv64) == 16bv8); + free requires (memory_load8_le(mem, 69594bv64) == 1bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 80bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1932bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1933bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1934bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1935bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69600bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69601bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69602bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69603bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69604bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69605bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69606bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69607bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); { var x_old: bv32; var z_old: bv32; diff --git a/src/test/correct/basic_loop_assign/clang/basic_loop_assign.expected b/src/test/correct/basic_loop_assign/clang/basic_loop_assign.expected index 122fde236..ca6cccfb2 100644 --- a/src/test/correct/basic_loop_assign/clang/basic_loop_assign.expected +++ b/src/test/correct/basic_loop_assign/clang/basic_loop_assign.expected @@ -35,6 +35,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (((memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))) || (bvsle32(memory_load32_le(mem, $x_addr), 10bv32) && bvslt32(old(memory_load32_le(mem, $x_addr)), 10bv32))) || ((memory_load32_le(mem, $x_addr) == 21bv32) && (old(memory_load32_le(mem, $x_addr)) == 20bv32))); + free ensures (memory_load8_le(mem, 1852bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1853bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1854bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1855bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -58,42 +94,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R8, Gamma_R9, Gamma_mem, R0, R8, R9, mem; requires (memory_load32_le(mem, $x_addr) == 0bv32); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1852bv64) == 1bv8); free requires (memory_load8_le(mem, 1853bv64) == 0bv8); free requires (memory_load8_le(mem, 1854bv64) == 2bv8); free requires (memory_load8_le(mem, 1855bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -102,22 +138,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -127,6 +147,42 @@ procedure main() free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); ensures ((memory_load32_le(mem, $x_addr) == 20bv32) || (memory_load32_le(mem, $x_addr) == 21bv32)); + free ensures (memory_load8_le(mem, 1852bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1853bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1854bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1855bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var x_old: bv32; lmain: diff --git a/src/test/correct/basic_loop_assign/clang_O2/basic_loop_assign.expected b/src/test/correct/basic_loop_assign/clang_O2/basic_loop_assign.expected index e2685372e..41105ba17 100644 --- a/src/test/correct/basic_loop_assign/clang_O2/basic_loop_assign.expected +++ b/src/test/correct/basic_loop_assign/clang_O2/basic_loop_assign.expected @@ -35,6 +35,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (((memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))) || (bvsle32(memory_load32_le(mem, $x_addr), 10bv32) && bvslt32(old(memory_load32_le(mem, $x_addr)), 10bv32))) || ((memory_load32_le(mem, $x_addr) == 21bv32) && (old(memory_load32_le(mem, $x_addr)) == 20bv32))); + free ensures (memory_load8_le(mem, 1852bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1853bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1854bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1855bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -58,42 +94,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R8, Gamma_R9, Gamma_mem, R0, R8, R9, mem; requires (memory_load32_le(mem, $x_addr) == 0bv32); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1852bv64) == 1bv8); free requires (memory_load8_le(mem, 1853bv64) == 0bv8); free requires (memory_load8_le(mem, 1854bv64) == 2bv8); free requires (memory_load8_le(mem, 1855bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -102,22 +138,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -127,6 +147,42 @@ procedure main() free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); ensures ((memory_load32_le(mem, $x_addr) == 20bv32) || (memory_load32_le(mem, $x_addr) == 21bv32)); + free ensures (memory_load8_le(mem, 1852bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1853bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1854bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1855bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var x_old: bv32; lmain: diff --git a/src/test/correct/basic_loop_assign/clang_no_plt_no_pic/basic_loop_assign.expected b/src/test/correct/basic_loop_assign/clang_no_plt_no_pic/basic_loop_assign.expected index 122fde236..ca6cccfb2 100644 --- a/src/test/correct/basic_loop_assign/clang_no_plt_no_pic/basic_loop_assign.expected +++ b/src/test/correct/basic_loop_assign/clang_no_plt_no_pic/basic_loop_assign.expected @@ -35,6 +35,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (((memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))) || (bvsle32(memory_load32_le(mem, $x_addr), 10bv32) && bvslt32(old(memory_load32_le(mem, $x_addr)), 10bv32))) || ((memory_load32_le(mem, $x_addr) == 21bv32) && (old(memory_load32_le(mem, $x_addr)) == 20bv32))); + free ensures (memory_load8_le(mem, 1852bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1853bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1854bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1855bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -58,42 +94,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R8, Gamma_R9, Gamma_mem, R0, R8, R9, mem; requires (memory_load32_le(mem, $x_addr) == 0bv32); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1852bv64) == 1bv8); free requires (memory_load8_le(mem, 1853bv64) == 0bv8); free requires (memory_load8_le(mem, 1854bv64) == 2bv8); free requires (memory_load8_le(mem, 1855bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -102,22 +138,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -127,6 +147,42 @@ procedure main() free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); ensures ((memory_load32_le(mem, $x_addr) == 20bv32) || (memory_load32_le(mem, $x_addr) == 21bv32)); + free ensures (memory_load8_le(mem, 1852bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1853bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1854bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1855bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var x_old: bv32; lmain: diff --git a/src/test/correct/basic_loop_assign/clang_pic/basic_loop_assign.expected b/src/test/correct/basic_loop_assign/clang_pic/basic_loop_assign.expected index c8f3a1fa6..0c5e32aa7 100644 --- a/src/test/correct/basic_loop_assign/clang_pic/basic_loop_assign.expected +++ b/src/test/correct/basic_loop_assign/clang_pic/basic_loop_assign.expected @@ -43,6 +43,50 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (((memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))) || (bvsle32(memory_load32_le(mem, $x_addr), 10bv32) && bvslt32(old(memory_load32_le(mem, $x_addr)), 10bv32))) || ((memory_load32_le(mem, $x_addr) == 21bv32) && (old(memory_load32_le(mem, $x_addr)) == 20bv32))); + free ensures (memory_load8_le(mem, 1920bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1921bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1922bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1923bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69576bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69577bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69578bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69579bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69580bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69581bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69582bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69583bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -66,34 +110,26 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R8, Gamma_R9, Gamma_mem, R0, R8, R9, mem; requires (memory_load32_le(mem, $x_addr) == 0bv32); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1920bv64) == 1bv8); free requires (memory_load8_le(mem, 1921bv64) == 0bv8); free requires (memory_load8_le(mem, 1922bv64) == 2bv8); free requires (memory_load8_le(mem, 1923bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 13bv8); - free requires (memory_load8_le(mem, 69554bv64) == 1bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 0bv8); - free requires (memory_load8_le(mem, 69561bv64) == 0bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); free requires (memory_load8_le(mem, 69576bv64) == 52bv8); free requires (memory_load8_le(mem, 69577bv64) == 16bv8); free requires (memory_load8_le(mem, 69578bv64) == 1bv8); @@ -102,38 +138,6 @@ procedure main() free requires (memory_load8_le(mem, 69581bv64) == 0bv8); free requires (memory_load8_le(mem, 69582bv64) == 0bv8); free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 84bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -142,7 +146,75 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69056bv64) == 80bv8); + free requires (memory_load8_le(mem, 69057bv64) == 7bv8); + free requires (memory_load8_le(mem, 69058bv64) == 0bv8); + free requires (memory_load8_le(mem, 69059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69060bv64) == 0bv8); + free requires (memory_load8_le(mem, 69061bv64) == 0bv8); + free requires (memory_load8_le(mem, 69062bv64) == 0bv8); + free requires (memory_load8_le(mem, 69063bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 0bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 84bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); ensures ((memory_load32_le(mem, $x_addr) == 20bv32) || (memory_load32_le(mem, $x_addr) == 21bv32)); + free ensures (memory_load8_le(mem, 1920bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1921bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1922bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1923bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69576bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69577bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69578bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69579bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69580bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69581bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69582bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69583bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); { var x_old: bv32; lmain: diff --git a/src/test/correct/basic_loop_assign/gcc/basic_loop_assign.expected b/src/test/correct/basic_loop_assign/gcc/basic_loop_assign.expected index 9ac38f7ff..8986de2de 100644 --- a/src/test/correct/basic_loop_assign/gcc/basic_loop_assign.expected +++ b/src/test/correct/basic_loop_assign/gcc/basic_loop_assign.expected @@ -33,6 +33,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (((memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))) || (bvsle32(memory_load32_le(mem, $x_addr), 10bv32) && bvslt32(old(memory_load32_le(mem, $x_addr)), 10bv32))) || ((memory_load32_le(mem, $x_addr) == 21bv32) && (old(memory_load32_le(mem, $x_addr)) == 20bv32))); + free ensures (memory_load8_le(mem, 1856bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1857bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1858bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1859bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -56,98 +92,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; requires (memory_load32_le(mem, $x_addr) == 0bv32); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1856bv64) == 1bv8); free requires (memory_load8_le(mem, 1857bv64) == 0bv8); free requires (memory_load8_le(mem, 1858bv64) == 2bv8); free requires (memory_load8_le(mem, 1859bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -156,22 +136,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -181,6 +145,42 @@ procedure main() free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); ensures ((memory_load32_le(mem, $x_addr) == 20bv32) || (memory_load32_le(mem, $x_addr) == 21bv32)); + free ensures (memory_load8_le(mem, 1856bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1857bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1858bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1859bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var x_old: bv32; lmain: diff --git a/src/test/correct/basic_loop_assign/gcc_O2/basic_loop_assign.expected b/src/test/correct/basic_loop_assign/gcc_O2/basic_loop_assign.expected index 4e5a8a915..abcae31a3 100644 --- a/src/test/correct/basic_loop_assign/gcc_O2/basic_loop_assign.expected +++ b/src/test/correct/basic_loop_assign/gcc_O2/basic_loop_assign.expected @@ -35,6 +35,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (((memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))) || (bvsle32(memory_load32_le(mem, $x_addr), 10bv32) && bvslt32(old(memory_load32_le(mem, $x_addr)), 10bv32))) || ((memory_load32_le(mem, $x_addr) == 21bv32) && (old(memory_load32_le(mem, $x_addr)) == 20bv32))); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -58,98 +94,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R2, Gamma_mem, R0, R1, R2, mem; requires (memory_load32_le(mem, $x_addr) == 0bv32); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1896bv64) == 1bv8); free requires (memory_load8_le(mem, 1897bv64) == 0bv8); free requires (memory_load8_le(mem, 1898bv64) == 2bv8); free requires (memory_load8_le(mem, 1899bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 80bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 0bv8); + free requires (memory_load8_le(mem, 69025bv64) == 7bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 0bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -158,22 +138,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -183,6 +147,42 @@ procedure main() free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); ensures ((memory_load32_le(mem, $x_addr) == 20bv32) || (memory_load32_le(mem, $x_addr) == 21bv32)); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var x_old: bv32; lmain: diff --git a/src/test/correct/basic_loop_assign/gcc_no_plt_no_pic/basic_loop_assign.expected b/src/test/correct/basic_loop_assign/gcc_no_plt_no_pic/basic_loop_assign.expected index 9ac38f7ff..8986de2de 100644 --- a/src/test/correct/basic_loop_assign/gcc_no_plt_no_pic/basic_loop_assign.expected +++ b/src/test/correct/basic_loop_assign/gcc_no_plt_no_pic/basic_loop_assign.expected @@ -33,6 +33,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (((memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))) || (bvsle32(memory_load32_le(mem, $x_addr), 10bv32) && bvslt32(old(memory_load32_le(mem, $x_addr)), 10bv32))) || ((memory_load32_le(mem, $x_addr) == 21bv32) && (old(memory_load32_le(mem, $x_addr)) == 20bv32))); + free ensures (memory_load8_le(mem, 1856bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1857bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1858bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1859bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -56,98 +92,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; requires (memory_load32_le(mem, $x_addr) == 0bv32); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1856bv64) == 1bv8); free requires (memory_load8_le(mem, 1857bv64) == 0bv8); free requires (memory_load8_le(mem, 1858bv64) == 2bv8); free requires (memory_load8_le(mem, 1859bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -156,22 +136,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -181,6 +145,42 @@ procedure main() free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); ensures ((memory_load32_le(mem, $x_addr) == 20bv32) || (memory_load32_le(mem, $x_addr) == 21bv32)); + free ensures (memory_load8_le(mem, 1856bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1857bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1858bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1859bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var x_old: bv32; lmain: diff --git a/src/test/correct/basic_loop_assign/gcc_pic/basic_loop_assign.expected b/src/test/correct/basic_loop_assign/gcc_pic/basic_loop_assign.expected index e46eb2405..9bcb6e7a7 100644 --- a/src/test/correct/basic_loop_assign/gcc_pic/basic_loop_assign.expected +++ b/src/test/correct/basic_loop_assign/gcc_pic/basic_loop_assign.expected @@ -41,6 +41,50 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (((memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))) || (bvsle32(memory_load32_le(mem, $x_addr), 10bv32) && bvslt32(old(memory_load32_le(mem, $x_addr)), 10bv32))) || ((memory_load32_le(mem, $x_addr) == 21bv32) && (old(memory_load32_le(mem, $x_addr)) == 20bv32))); + free ensures (memory_load8_le(mem, 1920bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1921bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1922bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1923bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69600bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69601bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69602bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69603bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69604bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69605bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69606bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69607bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -64,122 +108,6 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; requires (memory_load32_le(mem, $x_addr) == 0bv32); - free requires (memory_load8_le(mem, 1920bv64) == 1bv8); - free requires (memory_load8_le(mem, 1921bv64) == 0bv8); - free requires (memory_load8_le(mem, 1922bv64) == 2bv8); - free requires (memory_load8_le(mem, 1923bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 176bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 176bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 176bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 176bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 13bv8); - free requires (memory_load8_le(mem, 69578bv64) == 1bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 20bv8); - free requires (memory_load8_le(mem, 69601bv64) == 16bv8); - free requires (memory_load8_le(mem, 69602bv64) == 1bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 84bv8); - free requires (memory_load8_le(mem, 69617bv64) == 7bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -196,7 +124,95 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 1920bv64) == 1bv8); + free requires (memory_load8_le(mem, 1921bv64) == 0bv8); + free requires (memory_load8_le(mem, 1922bv64) == 2bv8); + free requires (memory_load8_le(mem, 1923bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 84bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 0bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69600bv64) == 20bv8); + free requires (memory_load8_le(mem, 69601bv64) == 16bv8); + free requires (memory_load8_le(mem, 69602bv64) == 1bv8); + free requires (memory_load8_le(mem, 69603bv64) == 0bv8); + free requires (memory_load8_le(mem, 69604bv64) == 0bv8); + free requires (memory_load8_le(mem, 69605bv64) == 0bv8); + free requires (memory_load8_le(mem, 69606bv64) == 0bv8); + free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 80bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); ensures ((memory_load32_le(mem, $x_addr) == 20bv32) || (memory_load32_le(mem, $x_addr) == 21bv32)); + free ensures (memory_load8_le(mem, 1920bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1921bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1922bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1923bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69600bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69601bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69602bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69603bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69604bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69605bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69606bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69607bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); { var x_old: bv32; lmain: diff --git a/src/test/correct/basic_operation_evaluation/clang/basic_operation_evaluation.expected b/src/test/correct/basic_operation_evaluation/clang/basic_operation_evaluation.expected index 81ee791af..6023fc70d 100644 --- a/src/test/correct/basic_operation_evaluation/clang/basic_operation_evaluation.expected +++ b/src/test/correct/basic_operation_evaluation/clang/basic_operation_evaluation.expected @@ -60,9 +60,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1952bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1953bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1954bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1955bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -80,42 +115,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R10, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_stack, R0, R10, R31, R8, R9, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1952bv64) == 1bv8); free requires (memory_load8_le(mem, 1953bv64) == 0bv8); free requires (memory_load8_le(mem, 1954bv64) == 2bv8); free requires (memory_load8_le(mem, 1955bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -124,22 +159,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -150,6 +169,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1952bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1953bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1954bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1955bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv32; var #5: bv32; diff --git a/src/test/correct/basic_operation_evaluation/clang_O2/basic_operation_evaluation.expected b/src/test/correct/basic_operation_evaluation/clang_O2/basic_operation_evaluation.expected index 3b757ebc7..36dff27e4 100644 --- a/src/test/correct/basic_operation_evaluation/clang_O2/basic_operation_evaluation.expected +++ b/src/test/correct/basic_operation_evaluation/clang_O2/basic_operation_evaluation.expected @@ -10,9 +10,44 @@ function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1840bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1841bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1842bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1843bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -30,42 +65,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, R0; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1840bv64) == 1bv8); free requires (memory_load8_le(mem, 1841bv64) == 0bv8); free requires (memory_load8_le(mem, 1842bv64) == 2bv8); free requires (memory_load8_le(mem, 1843bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -74,22 +109,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -98,6 +117,42 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1840bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1841bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1842bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1843bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { lmain: R0, Gamma_R0 := 0bv64, true; diff --git a/src/test/correct/basic_operation_evaluation/clang_no_plt_no_pic/basic_operation_evaluation.expected b/src/test/correct/basic_operation_evaluation/clang_no_plt_no_pic/basic_operation_evaluation.expected index 4c5b4f553..81a31a5a8 100644 --- a/src/test/correct/basic_operation_evaluation/clang_no_plt_no_pic/basic_operation_evaluation.expected +++ b/src/test/correct/basic_operation_evaluation/clang_no_plt_no_pic/basic_operation_evaluation.expected @@ -60,9 +60,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1952bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1953bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1954bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1955bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -80,42 +115,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R10, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_stack, R0, R10, R31, R8, R9, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1952bv64) == 1bv8); free requires (memory_load8_le(mem, 1953bv64) == 0bv8); free requires (memory_load8_le(mem, 1954bv64) == 2bv8); free requires (memory_load8_le(mem, 1955bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -124,22 +159,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -150,6 +169,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1952bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1953bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1954bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1955bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv32; var #5: bv32; diff --git a/src/test/correct/basic_operation_evaluation/clang_pic/basic_operation_evaluation.expected b/src/test/correct/basic_operation_evaluation/clang_pic/basic_operation_evaluation.expected index 4c5b4f553..81a31a5a8 100644 --- a/src/test/correct/basic_operation_evaluation/clang_pic/basic_operation_evaluation.expected +++ b/src/test/correct/basic_operation_evaluation/clang_pic/basic_operation_evaluation.expected @@ -60,9 +60,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1952bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1953bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1954bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1955bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -80,42 +115,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R10, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_stack, R0, R10, R31, R8, R9, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1952bv64) == 1bv8); free requires (memory_load8_le(mem, 1953bv64) == 0bv8); free requires (memory_load8_le(mem, 1954bv64) == 2bv8); free requires (memory_load8_le(mem, 1955bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -124,22 +159,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -150,6 +169,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1952bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1953bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1954bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1955bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv32; var #5: bv32; diff --git a/src/test/correct/basic_operation_evaluation/gcc/basic_operation_evaluation.expected b/src/test/correct/basic_operation_evaluation/gcc/basic_operation_evaluation.expected index 82a2911bb..ce304adcc 100644 --- a/src/test/correct/basic_operation_evaluation/gcc/basic_operation_evaluation.expected +++ b/src/test/correct/basic_operation_evaluation/gcc/basic_operation_evaluation.expected @@ -52,9 +52,44 @@ function {:bvbuiltin "sign_extend 1"} sign_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1948bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1949bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1950bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1951bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -72,98 +107,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R2, Gamma_R31, Gamma_stack, R0, R1, R2, R31, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1948bv64) == 1bv8); free requires (memory_load8_le(mem, 1949bv64) == 0bv8); free requires (memory_load8_le(mem, 1950bv64) == 2bv8); free requires (memory_load8_le(mem, 1951bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -172,22 +151,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -198,6 +161,42 @@ procedure main() free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1948bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1949bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1950bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1951bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lmain: R31, Gamma_R31 := bvadd64(R31, 18446744073709551584bv64), Gamma_R31; diff --git a/src/test/correct/basic_operation_evaluation/gcc_O2/basic_operation_evaluation.expected b/src/test/correct/basic_operation_evaluation/gcc_O2/basic_operation_evaluation.expected index 4644d729c..362cf9929 100644 --- a/src/test/correct/basic_operation_evaluation/gcc_O2/basic_operation_evaluation.expected +++ b/src/test/correct/basic_operation_evaluation/gcc_O2/basic_operation_evaluation.expected @@ -10,9 +10,44 @@ function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -30,98 +65,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, R0; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1896bv64) == 1bv8); free requires (memory_load8_le(mem, 1897bv64) == 0bv8); free requires (memory_load8_le(mem, 1898bv64) == 2bv8); free requires (memory_load8_le(mem, 1899bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 80bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 0bv8); + free requires (memory_load8_le(mem, 69025bv64) == 7bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 0bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -130,22 +109,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -154,6 +117,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lmain: R0, Gamma_R0 := 0bv64, true; diff --git a/src/test/correct/basic_operation_evaluation/gcc_no_plt_no_pic/basic_operation_evaluation.expected b/src/test/correct/basic_operation_evaluation/gcc_no_plt_no_pic/basic_operation_evaluation.expected index 3ce9f7f19..c42b8202d 100644 --- a/src/test/correct/basic_operation_evaluation/gcc_no_plt_no_pic/basic_operation_evaluation.expected +++ b/src/test/correct/basic_operation_evaluation/gcc_no_plt_no_pic/basic_operation_evaluation.expected @@ -52,9 +52,44 @@ function {:bvbuiltin "sign_extend 1"} sign_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1948bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1949bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1950bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1951bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -72,98 +107,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R2, Gamma_R31, Gamma_stack, R0, R1, R2, R31, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1948bv64) == 1bv8); free requires (memory_load8_le(mem, 1949bv64) == 0bv8); free requires (memory_load8_le(mem, 1950bv64) == 2bv8); free requires (memory_load8_le(mem, 1951bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -172,22 +151,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -198,6 +161,42 @@ procedure main() free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1948bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1949bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1950bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1951bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lmain: R31, Gamma_R31 := bvadd64(R31, 18446744073709551584bv64), Gamma_R31; diff --git a/src/test/correct/basic_operation_evaluation/gcc_pic/basic_operation_evaluation.expected b/src/test/correct/basic_operation_evaluation/gcc_pic/basic_operation_evaluation.expected index 3ce9f7f19..c42b8202d 100644 --- a/src/test/correct/basic_operation_evaluation/gcc_pic/basic_operation_evaluation.expected +++ b/src/test/correct/basic_operation_evaluation/gcc_pic/basic_operation_evaluation.expected @@ -52,9 +52,44 @@ function {:bvbuiltin "sign_extend 1"} sign_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1948bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1949bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1950bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1951bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -72,98 +107,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R2, Gamma_R31, Gamma_stack, R0, R1, R2, R31, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1948bv64) == 1bv8); free requires (memory_load8_le(mem, 1949bv64) == 0bv8); free requires (memory_load8_le(mem, 1950bv64) == 2bv8); free requires (memory_load8_le(mem, 1951bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -172,22 +151,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -198,6 +161,42 @@ procedure main() free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1948bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1949bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1950bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1951bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lmain: R31, Gamma_R31 := bvadd64(R31, 18446744073709551584bv64), Gamma_R31; diff --git a/src/test/correct/basic_sec_policy_read/clang/basic_sec_policy_read.expected b/src/test/correct/basic_sec_policy_read/clang/basic_sec_policy_read.expected index 214329525..a55c20eae 100644 --- a/src/test/correct/basic_sec_policy_read/clang/basic_sec_policy_read.expected +++ b/src/test/correct/basic_sec_policy_read/clang/basic_sec_policy_read.expected @@ -50,6 +50,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((old(memory_load32_le(mem, $z_addr)) != 0bv32) ==> (memory_load32_le(mem, $z_addr) != 0bv32)); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -72,42 +108,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_stack, R0, R31, R8, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1896bv64) == 1bv8); free requires (memory_load8_le(mem, 1897bv64) == 0bv8); free requires (memory_load8_le(mem, 1898bv64) == 2bv8); free requires (memory_load8_le(mem, 1899bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -116,22 +152,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -142,6 +162,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/basic_sec_policy_read/clang_O2/basic_sec_policy_read.expected b/src/test/correct/basic_sec_policy_read/clang_O2/basic_sec_policy_read.expected index b8363baaa..71f825d4f 100644 --- a/src/test/correct/basic_sec_policy_read/clang_O2/basic_sec_policy_read.expected +++ b/src/test/correct/basic_sec_policy_read/clang_O2/basic_sec_policy_read.expected @@ -40,6 +40,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((old(memory_load32_le(mem, $z_addr)) != 0bv32) ==> (memory_load32_le(mem, $z_addr) != 0bv32)); + free ensures (memory_load8_le(mem, 1860bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1861bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1862bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1863bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -62,42 +98,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R8, Gamma_R9, R0, R8, R9; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1860bv64) == 1bv8); free requires (memory_load8_le(mem, 1861bv64) == 0bv8); free requires (memory_load8_le(mem, 1862bv64) == 2bv8); free requires (memory_load8_le(mem, 1863bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -106,22 +142,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -130,6 +150,42 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1860bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1861bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1862bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1863bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/basic_sec_policy_read/clang_no_plt_no_pic/basic_sec_policy_read.expected b/src/test/correct/basic_sec_policy_read/clang_no_plt_no_pic/basic_sec_policy_read.expected index 6c8ae077e..84a2c7768 100644 --- a/src/test/correct/basic_sec_policy_read/clang_no_plt_no_pic/basic_sec_policy_read.expected +++ b/src/test/correct/basic_sec_policy_read/clang_no_plt_no_pic/basic_sec_policy_read.expected @@ -50,6 +50,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((old(memory_load32_le(mem, $z_addr)) != 0bv32) ==> (memory_load32_le(mem, $z_addr) != 0bv32)); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -72,42 +108,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_stack, R0, R31, R8, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1896bv64) == 1bv8); free requires (memory_load8_le(mem, 1897bv64) == 0bv8); free requires (memory_load8_le(mem, 1898bv64) == 2bv8); free requires (memory_load8_le(mem, 1899bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -116,22 +152,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -142,6 +162,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/basic_sec_policy_read/clang_pic/basic_sec_policy_read.expected b/src/test/correct/basic_sec_policy_read/clang_pic/basic_sec_policy_read.expected index 0a41f6fc3..40d8169d6 100644 --- a/src/test/correct/basic_sec_policy_read/clang_pic/basic_sec_policy_read.expected +++ b/src/test/correct/basic_sec_policy_read/clang_pic/basic_sec_policy_read.expected @@ -58,6 +58,58 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((old(memory_load32_le(mem, $z_addr)) != 0bv32) ==> (memory_load32_le(mem, $z_addr) != 0bv32)); + free ensures (memory_load8_le(mem, 1968bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1969bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1970bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1971bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69576bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69577bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69578bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69579bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69580bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69581bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69582bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69583bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69568bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -80,42 +132,26 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_stack, R0, R31, R8, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1968bv64) == 1bv8); free requires (memory_load8_le(mem, 1969bv64) == 0bv8); free requires (memory_load8_le(mem, 1970bv64) == 2bv8); free requires (memory_load8_le(mem, 1971bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 200bv8); - free requires (memory_load8_le(mem, 69545bv64) == 13bv8); - free requires (memory_load8_le(mem, 69546bv64) == 1bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 0bv8); - free requires (memory_load8_le(mem, 69553bv64) == 0bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 0bv8); - free requires (memory_load8_le(mem, 69561bv64) == 0bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 56bv8); - free requires (memory_load8_le(mem, 69569bv64) == 16bv8); - free requires (memory_load8_le(mem, 69570bv64) == 1bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); free requires (memory_load8_le(mem, 69576bv64) == 52bv8); free requires (memory_load8_le(mem, 69577bv64) == 16bv8); free requires (memory_load8_le(mem, 69578bv64) == 1bv8); @@ -124,38 +160,6 @@ procedure main() free requires (memory_load8_le(mem, 69581bv64) == 0bv8); free requires (memory_load8_le(mem, 69582bv64) == 0bv8); free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 84bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -164,8 +168,92 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69048bv64) == 80bv8); + free requires (memory_load8_le(mem, 69049bv64) == 7bv8); + free requires (memory_load8_le(mem, 69050bv64) == 0bv8); + free requires (memory_load8_le(mem, 69051bv64) == 0bv8); + free requires (memory_load8_le(mem, 69052bv64) == 0bv8); + free requires (memory_load8_le(mem, 69053bv64) == 0bv8); + free requires (memory_load8_le(mem, 69054bv64) == 0bv8); + free requires (memory_load8_le(mem, 69055bv64) == 0bv8); + free requires (memory_load8_le(mem, 69568bv64) == 56bv8); + free requires (memory_load8_le(mem, 69569bv64) == 16bv8); + free requires (memory_load8_le(mem, 69570bv64) == 1bv8); + free requires (memory_load8_le(mem, 69571bv64) == 0bv8); + free requires (memory_load8_le(mem, 69572bv64) == 0bv8); + free requires (memory_load8_le(mem, 69573bv64) == 0bv8); + free requires (memory_load8_le(mem, 69574bv64) == 0bv8); + free requires (memory_load8_le(mem, 69575bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 84bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69056bv64) == 0bv8); + free requires (memory_load8_le(mem, 69057bv64) == 7bv8); + free requires (memory_load8_le(mem, 69058bv64) == 0bv8); + free requires (memory_load8_le(mem, 69059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69060bv64) == 0bv8); + free requires (memory_load8_le(mem, 69061bv64) == 0bv8); + free requires (memory_load8_le(mem, 69062bv64) == 0bv8); + free requires (memory_load8_le(mem, 69063bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1968bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1969bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1970bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1971bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69576bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69577bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69578bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69579bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69580bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69581bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69582bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69583bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69568bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/basic_sec_policy_read/gcc/basic_sec_policy_read.expected b/src/test/correct/basic_sec_policy_read/gcc/basic_sec_policy_read.expected index 17fa808b8..e8664e1e3 100644 --- a/src/test/correct/basic_sec_policy_read/gcc/basic_sec_policy_read.expected +++ b/src/test/correct/basic_sec_policy_read/gcc/basic_sec_policy_read.expected @@ -48,6 +48,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((old(memory_load32_le(mem, $z_addr)) != 0bv32) ==> (memory_load32_le(mem, $z_addr) != 0bv32)); + free ensures (memory_load8_le(mem, 1888bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1889bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1890bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1891bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -70,98 +106,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R31, Gamma_stack, R0, R31, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1888bv64) == 1bv8); free requires (memory_load8_le(mem, 1889bv64) == 0bv8); free requires (memory_load8_le(mem, 1890bv64) == 2bv8); free requires (memory_load8_le(mem, 1891bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -170,22 +150,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -196,6 +160,42 @@ procedure main() free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1888bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1889bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1890bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1891bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/basic_sec_policy_read/gcc_O2/basic_sec_policy_read.expected b/src/test/correct/basic_sec_policy_read/gcc_O2/basic_sec_policy_read.expected index bd83405f9..285d0a693 100644 --- a/src/test/correct/basic_sec_policy_read/gcc_O2/basic_sec_policy_read.expected +++ b/src/test/correct/basic_sec_policy_read/gcc_O2/basic_sec_policy_read.expected @@ -34,6 +34,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((old(memory_load32_le(mem, $z_addr)) != 0bv32) ==> (memory_load32_le(mem, $z_addr) != 0bv32)); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -56,98 +92,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R2, R0, R1, R2; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1896bv64) == 1bv8); free requires (memory_load8_le(mem, 1897bv64) == 0bv8); free requires (memory_load8_le(mem, 1898bv64) == 2bv8); free requires (memory_load8_le(mem, 1899bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 80bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 0bv8); + free requires (memory_load8_le(mem, 69025bv64) == 7bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 0bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -156,22 +136,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -180,6 +144,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lmain: R1, Gamma_R1 := 69632bv64, true; diff --git a/src/test/correct/basic_sec_policy_read/gcc_no_plt_no_pic/basic_sec_policy_read.expected b/src/test/correct/basic_sec_policy_read/gcc_no_plt_no_pic/basic_sec_policy_read.expected index 8c832773e..f0d11b11f 100644 --- a/src/test/correct/basic_sec_policy_read/gcc_no_plt_no_pic/basic_sec_policy_read.expected +++ b/src/test/correct/basic_sec_policy_read/gcc_no_plt_no_pic/basic_sec_policy_read.expected @@ -48,6 +48,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((old(memory_load32_le(mem, $z_addr)) != 0bv32) ==> (memory_load32_le(mem, $z_addr) != 0bv32)); + free ensures (memory_load8_le(mem, 1888bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1889bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1890bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1891bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -70,98 +106,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R31, Gamma_stack, R0, R31, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1888bv64) == 1bv8); free requires (memory_load8_le(mem, 1889bv64) == 0bv8); free requires (memory_load8_le(mem, 1890bv64) == 2bv8); free requires (memory_load8_le(mem, 1891bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -170,22 +150,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -196,6 +160,42 @@ procedure main() free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1888bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1889bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1890bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1891bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/basic_sec_policy_read/gcc_pic/basic_sec_policy_read.expected b/src/test/correct/basic_sec_policy_read/gcc_pic/basic_sec_policy_read.expected index 49e359421..450b51209 100644 --- a/src/test/correct/basic_sec_policy_read/gcc_pic/basic_sec_policy_read.expected +++ b/src/test/correct/basic_sec_policy_read/gcc_pic/basic_sec_policy_read.expected @@ -56,6 +56,58 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((old(memory_load32_le(mem, $z_addr)) != 0bv32) ==> (memory_load32_le(mem, $z_addr) != 0bv32)); + free ensures (memory_load8_le(mem, 1952bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1953bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1954bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1955bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69600bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69601bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69602bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69603bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69604bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69605bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69606bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69607bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -78,130 +130,6 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R31, Gamma_stack, R0, R31, stack; - free requires (memory_load8_le(mem, 1952bv64) == 1bv8); - free requires (memory_load8_le(mem, 1953bv64) == 0bv8); - free requires (memory_load8_le(mem, 1954bv64) == 2bv8); - free requires (memory_load8_le(mem, 1955bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 208bv8); - free requires (memory_load8_le(mem, 69537bv64) == 5bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 208bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 208bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 152bv8); - free requires (memory_load8_le(mem, 69569bv64) == 13bv8); - free requires (memory_load8_le(mem, 69570bv64) == 1bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 24bv8); - free requires (memory_load8_le(mem, 69593bv64) == 16bv8); - free requires (memory_load8_le(mem, 69594bv64) == 1bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 20bv8); - free requires (memory_load8_le(mem, 69601bv64) == 16bv8); - free requires (memory_load8_le(mem, 69602bv64) == 1bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 84bv8); - free requires (memory_load8_le(mem, 69617bv64) == 7bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -218,8 +146,112 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 1952bv64) == 1bv8); + free requires (memory_load8_le(mem, 1953bv64) == 0bv8); + free requires (memory_load8_le(mem, 1954bv64) == 2bv8); + free requires (memory_load8_le(mem, 1955bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 84bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69600bv64) == 20bv8); + free requires (memory_load8_le(mem, 69601bv64) == 16bv8); + free requires (memory_load8_le(mem, 69602bv64) == 1bv8); + free requires (memory_load8_le(mem, 69603bv64) == 0bv8); + free requires (memory_load8_le(mem, 69604bv64) == 0bv8); + free requires (memory_load8_le(mem, 69605bv64) == 0bv8); + free requires (memory_load8_le(mem, 69606bv64) == 0bv8); + free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 0bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 24bv8); + free requires (memory_load8_le(mem, 69593bv64) == 16bv8); + free requires (memory_load8_le(mem, 69594bv64) == 1bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 80bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1952bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1953bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1954bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1955bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69600bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69601bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69602bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69603bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69604bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69605bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69606bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69607bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/basic_sec_policy_write/clang/basic_sec_policy_write.expected b/src/test/correct/basic_sec_policy_write/clang/basic_sec_policy_write.expected index a822f87b0..b9d369429 100644 --- a/src/test/correct/basic_sec_policy_write/clang/basic_sec_policy_write.expected +++ b/src/test/correct/basic_sec_policy_write/clang/basic_sec_policy_write.expected @@ -46,6 +46,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (old(memory_load32_le(mem, $z_addr)) == memory_load32_le(mem, $z_addr)); + free ensures (memory_load8_le(mem, 1888bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1889bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1890bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1891bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -69,42 +105,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R10, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R10, R31, R8, R9, mem, stack; requires (Gamma_R0 == false); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1888bv64) == 1bv8); free requires (memory_load8_le(mem, 1889bv64) == 0bv8); free requires (memory_load8_le(mem, 1890bv64) == 2bv8); free requires (memory_load8_le(mem, 1891bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -113,22 +149,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -139,6 +159,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1888bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1889bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1890bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1891bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var Gamma_x_old: bool; var z_old: bv32; diff --git a/src/test/correct/basic_sec_policy_write/clang_O2/basic_sec_policy_write.expected b/src/test/correct/basic_sec_policy_write/clang_O2/basic_sec_policy_write.expected index 2196b3579..f04c7f387 100644 --- a/src/test/correct/basic_sec_policy_write/clang_O2/basic_sec_policy_write.expected +++ b/src/test/correct/basic_sec_policy_write/clang_O2/basic_sec_policy_write.expected @@ -41,6 +41,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (old(memory_load32_le(mem, $z_addr)) == memory_load32_le(mem, $z_addr)); + free ensures (memory_load8_le(mem, 1860bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1861bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1862bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1863bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -64,42 +100,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R10, Gamma_R8, Gamma_R9, Gamma_mem, R0, R10, R8, R9, mem; requires (Gamma_R0 == false); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1860bv64) == 1bv8); free requires (memory_load8_le(mem, 1861bv64) == 0bv8); free requires (memory_load8_le(mem, 1862bv64) == 2bv8); free requires (memory_load8_le(mem, 1863bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -108,22 +144,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -132,6 +152,42 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1860bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1861bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1862bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1863bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var Gamma_x_old: bool; var z_old: bv32; diff --git a/src/test/correct/basic_sec_policy_write/clang_no_plt_no_pic/basic_sec_policy_write.expected b/src/test/correct/basic_sec_policy_write/clang_no_plt_no_pic/basic_sec_policy_write.expected index a822f87b0..b9d369429 100644 --- a/src/test/correct/basic_sec_policy_write/clang_no_plt_no_pic/basic_sec_policy_write.expected +++ b/src/test/correct/basic_sec_policy_write/clang_no_plt_no_pic/basic_sec_policy_write.expected @@ -46,6 +46,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (old(memory_load32_le(mem, $z_addr)) == memory_load32_le(mem, $z_addr)); + free ensures (memory_load8_le(mem, 1888bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1889bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1890bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1891bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -69,42 +105,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R10, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R10, R31, R8, R9, mem, stack; requires (Gamma_R0 == false); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1888bv64) == 1bv8); free requires (memory_load8_le(mem, 1889bv64) == 0bv8); free requires (memory_load8_le(mem, 1890bv64) == 2bv8); free requires (memory_load8_le(mem, 1891bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -113,22 +149,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -139,6 +159,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1888bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1889bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1890bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1891bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var Gamma_x_old: bool; var z_old: bv32; diff --git a/src/test/correct/basic_sec_policy_write/gcc/basic_sec_policy_write.expected b/src/test/correct/basic_sec_policy_write/gcc/basic_sec_policy_write.expected index 58590653e..a5cc3fa11 100644 --- a/src/test/correct/basic_sec_policy_write/gcc/basic_sec_policy_write.expected +++ b/src/test/correct/basic_sec_policy_write/gcc/basic_sec_policy_write.expected @@ -42,6 +42,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (old(memory_load32_le(mem, $z_addr)) == memory_load32_le(mem, $z_addr)); + free ensures (memory_load8_le(mem, 1912bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1913bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1914bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1915bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -65,98 +101,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R31, mem, stack; requires (Gamma_R0 == false); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1912bv64) == 1bv8); free requires (memory_load8_le(mem, 1913bv64) == 0bv8); free requires (memory_load8_le(mem, 1914bv64) == 2bv8); free requires (memory_load8_le(mem, 1915bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -165,22 +145,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -191,6 +155,42 @@ procedure main() free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1912bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1913bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1914bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1915bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var Gamma_x_old: bool; var z_old: bv32; diff --git a/src/test/correct/basic_sec_policy_write/gcc_O2/basic_sec_policy_write.expected b/src/test/correct/basic_sec_policy_write/gcc_O2/basic_sec_policy_write.expected index 7495190f9..0462ef30e 100644 --- a/src/test/correct/basic_sec_policy_write/gcc_O2/basic_sec_policy_write.expected +++ b/src/test/correct/basic_sec_policy_write/gcc_O2/basic_sec_policy_write.expected @@ -41,6 +41,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (old(memory_load32_le(mem, $z_addr)) == memory_load32_le(mem, $z_addr)); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -64,98 +100,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R2, Gamma_R3, Gamma_mem, R0, R1, R2, R3, mem; requires (Gamma_R0 == false); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1896bv64) == 1bv8); free requires (memory_load8_le(mem, 1897bv64) == 0bv8); free requires (memory_load8_le(mem, 1898bv64) == 2bv8); free requires (memory_load8_le(mem, 1899bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 80bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 0bv8); + free requires (memory_load8_le(mem, 69025bv64) == 7bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 0bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -164,22 +144,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -188,6 +152,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var Gamma_x_old: bool; var z_old: bv32; diff --git a/src/test/correct/basic_sec_policy_write/gcc_no_plt_no_pic/basic_sec_policy_write.expected b/src/test/correct/basic_sec_policy_write/gcc_no_plt_no_pic/basic_sec_policy_write.expected index 58590653e..a5cc3fa11 100644 --- a/src/test/correct/basic_sec_policy_write/gcc_no_plt_no_pic/basic_sec_policy_write.expected +++ b/src/test/correct/basic_sec_policy_write/gcc_no_plt_no_pic/basic_sec_policy_write.expected @@ -42,6 +42,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (old(memory_load32_le(mem, $z_addr)) == memory_load32_le(mem, $z_addr)); + free ensures (memory_load8_le(mem, 1912bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1913bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1914bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1915bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -65,98 +101,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R31, mem, stack; requires (Gamma_R0 == false); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1912bv64) == 1bv8); free requires (memory_load8_le(mem, 1913bv64) == 0bv8); free requires (memory_load8_le(mem, 1914bv64) == 2bv8); free requires (memory_load8_le(mem, 1915bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -165,22 +145,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -191,6 +155,42 @@ procedure main() free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1912bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1913bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1914bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1915bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var Gamma_x_old: bool; var z_old: bv32; diff --git a/src/test/correct/basicassign_gamma0/clang/basicassign_gamma0.expected b/src/test/correct/basicassign_gamma0/clang/basicassign_gamma0.expected index 835a8901f..3bc82faef 100644 --- a/src/test/correct/basicassign_gamma0/clang/basicassign_gamma0.expected +++ b/src/test/correct/basicassign_gamma0/clang/basicassign_gamma0.expected @@ -40,6 +40,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $secret_addr) == old(memory_load32_le(mem, $secret_addr))); + free ensures (memory_load8_le(mem, 1856bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1857bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1858bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1859bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -60,42 +96,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R8, Gamma_R9, Gamma_mem, R0, R8, R9, mem; requires (gamma_load32(Gamma_mem, $secret_addr) == true); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1856bv64) == 1bv8); free requires (memory_load8_le(mem, 1857bv64) == 0bv8); free requires (memory_load8_le(mem, 1858bv64) == 2bv8); free requires (memory_load8_le(mem, 1859bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -104,22 +140,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -128,6 +148,42 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1856bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1857bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1858bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1859bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { lmain: R8, Gamma_R8 := 69632bv64, true; diff --git a/src/test/correct/basicassign_gamma0/clang_O2/basicassign_gamma0.expected b/src/test/correct/basicassign_gamma0/clang_O2/basicassign_gamma0.expected index 3fb69f736..ce2a4f38c 100644 --- a/src/test/correct/basicassign_gamma0/clang_O2/basicassign_gamma0.expected +++ b/src/test/correct/basicassign_gamma0/clang_O2/basicassign_gamma0.expected @@ -40,6 +40,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $secret_addr) == old(memory_load32_le(mem, $secret_addr))); + free ensures (memory_load8_le(mem, 1856bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1857bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1858bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1859bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -60,42 +96,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R8, Gamma_R9, Gamma_mem, R0, R8, R9, mem; requires (gamma_load32(Gamma_mem, $secret_addr) == true); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1856bv64) == 1bv8); free requires (memory_load8_le(mem, 1857bv64) == 0bv8); free requires (memory_load8_le(mem, 1858bv64) == 2bv8); free requires (memory_load8_le(mem, 1859bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -104,22 +140,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -128,6 +148,42 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1856bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1857bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1858bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1859bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { lmain: R8, Gamma_R8 := 69632bv64, true; diff --git a/src/test/correct/basicassign_gamma0/clang_no_plt_no_pic/basicassign_gamma0.expected b/src/test/correct/basicassign_gamma0/clang_no_plt_no_pic/basicassign_gamma0.expected index 835a8901f..3bc82faef 100644 --- a/src/test/correct/basicassign_gamma0/clang_no_plt_no_pic/basicassign_gamma0.expected +++ b/src/test/correct/basicassign_gamma0/clang_no_plt_no_pic/basicassign_gamma0.expected @@ -40,6 +40,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $secret_addr) == old(memory_load32_le(mem, $secret_addr))); + free ensures (memory_load8_le(mem, 1856bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1857bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1858bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1859bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -60,42 +96,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R8, Gamma_R9, Gamma_mem, R0, R8, R9, mem; requires (gamma_load32(Gamma_mem, $secret_addr) == true); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1856bv64) == 1bv8); free requires (memory_load8_le(mem, 1857bv64) == 0bv8); free requires (memory_load8_le(mem, 1858bv64) == 2bv8); free requires (memory_load8_le(mem, 1859bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -104,22 +140,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -128,6 +148,42 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1856bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1857bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1858bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1859bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { lmain: R8, Gamma_R8 := 69632bv64, true; diff --git a/src/test/correct/basicassign_gamma0/clang_pic/basicassign_gamma0.expected b/src/test/correct/basicassign_gamma0/clang_pic/basicassign_gamma0.expected index f58a2bc43..4d9c3fdf8 100644 --- a/src/test/correct/basicassign_gamma0/clang_pic/basicassign_gamma0.expected +++ b/src/test/correct/basicassign_gamma0/clang_pic/basicassign_gamma0.expected @@ -48,6 +48,58 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $secret_addr) == old(memory_load32_le(mem, $secret_addr))); + free ensures (memory_load8_le(mem, 1928bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1929bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1930bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1931bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69584bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69585bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69586bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69568bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -68,50 +120,34 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R8, Gamma_R9, Gamma_mem, R0, R8, R9, mem; requires (gamma_load32(Gamma_mem, $secret_addr) == true); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1928bv64) == 1bv8); free requires (memory_load8_le(mem, 1929bv64) == 0bv8); free requires (memory_load8_le(mem, 1930bv64) == 2bv8); free requires (memory_load8_le(mem, 1931bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 200bv8); - free requires (memory_load8_le(mem, 69545bv64) == 13bv8); - free requires (memory_load8_le(mem, 69546bv64) == 1bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 0bv8); - free requires (memory_load8_le(mem, 69553bv64) == 0bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 0bv8); - free requires (memory_load8_le(mem, 69561bv64) == 0bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 56bv8); - free requires (memory_load8_le(mem, 69569bv64) == 16bv8); - free requires (memory_load8_le(mem, 69570bv64) == 1bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 69584bv64) == 52bv8); free requires (memory_load8_le(mem, 69585bv64) == 16bv8); free requires (memory_load8_le(mem, 69586bv64) == 1bv8); @@ -120,6 +156,22 @@ procedure main() free requires (memory_load8_le(mem, 69589bv64) == 0bv8); free requires (memory_load8_le(mem, 69590bv64) == 0bv8); free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69048bv64) == 80bv8); + free requires (memory_load8_le(mem, 69049bv64) == 7bv8); + free requires (memory_load8_le(mem, 69050bv64) == 0bv8); + free requires (memory_load8_le(mem, 69051bv64) == 0bv8); + free requires (memory_load8_le(mem, 69052bv64) == 0bv8); + free requires (memory_load8_le(mem, 69053bv64) == 0bv8); + free requires (memory_load8_le(mem, 69054bv64) == 0bv8); + free requires (memory_load8_le(mem, 69055bv64) == 0bv8); + free requires (memory_load8_le(mem, 69568bv64) == 56bv8); + free requires (memory_load8_le(mem, 69569bv64) == 16bv8); + free requires (memory_load8_le(mem, 69570bv64) == 1bv8); + free requires (memory_load8_le(mem, 69571bv64) == 0bv8); + free requires (memory_load8_le(mem, 69572bv64) == 0bv8); + free requires (memory_load8_le(mem, 69573bv64) == 0bv8); + free requires (memory_load8_le(mem, 69574bv64) == 0bv8); + free requires (memory_load8_le(mem, 69575bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 84bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -128,30 +180,66 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 40bv8); - free requires (memory_load8_le(mem, 69673bv64) == 16bv8); - free requires (memory_load8_le(mem, 69674bv64) == 1bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69056bv64) == 0bv8); + free requires (memory_load8_le(mem, 69057bv64) == 7bv8); + free requires (memory_load8_le(mem, 69058bv64) == 0bv8); + free requires (memory_load8_le(mem, 69059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69060bv64) == 0bv8); + free requires (memory_load8_le(mem, 69061bv64) == 0bv8); + free requires (memory_load8_le(mem, 69062bv64) == 0bv8); + free requires (memory_load8_le(mem, 69063bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1928bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1929bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1930bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1931bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69584bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69585bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69586bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69568bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); { lmain: R8, Gamma_R8 := 65536bv64, true; diff --git a/src/test/correct/basicassign_gamma0/gcc/basicassign_gamma0.expected b/src/test/correct/basicassign_gamma0/gcc/basicassign_gamma0.expected index 03e18c02b..c35a9cbbb 100644 --- a/src/test/correct/basicassign_gamma0/gcc/basicassign_gamma0.expected +++ b/src/test/correct/basicassign_gamma0/gcc/basicassign_gamma0.expected @@ -38,6 +38,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $secret_addr) == old(memory_load32_le(mem, $secret_addr))); + free ensures (memory_load8_le(mem, 1864bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1865bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1866bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1867bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -58,98 +94,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; requires (gamma_load32(Gamma_mem, $secret_addr) == true); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1864bv64) == 1bv8); free requires (memory_load8_le(mem, 1865bv64) == 0bv8); free requires (memory_load8_le(mem, 1866bv64) == 2bv8); free requires (memory_load8_le(mem, 1867bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -158,22 +138,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -182,6 +146,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1864bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1865bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1866bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1867bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lmain: R0, Gamma_R0 := 69632bv64, true; diff --git a/src/test/correct/basicassign_gamma0/gcc_O2/basicassign_gamma0.expected b/src/test/correct/basicassign_gamma0/gcc_O2/basicassign_gamma0.expected index 99f939dd0..8cf6802db 100644 --- a/src/test/correct/basicassign_gamma0/gcc_O2/basicassign_gamma0.expected +++ b/src/test/correct/basicassign_gamma0/gcc_O2/basicassign_gamma0.expected @@ -40,6 +40,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $secret_addr) == old(memory_load32_le(mem, $secret_addr))); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -60,98 +96,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R2, Gamma_mem, R0, R1, R2, mem; requires (gamma_load32(Gamma_mem, $secret_addr) == true); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1896bv64) == 1bv8); free requires (memory_load8_le(mem, 1897bv64) == 0bv8); free requires (memory_load8_le(mem, 1898bv64) == 2bv8); free requires (memory_load8_le(mem, 1899bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 80bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 0bv8); + free requires (memory_load8_le(mem, 69025bv64) == 7bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 0bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -160,22 +140,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -184,6 +148,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lmain: R1, Gamma_R1 := 69632bv64, true; diff --git a/src/test/correct/basicassign_gamma0/gcc_no_plt_no_pic/basicassign_gamma0.expected b/src/test/correct/basicassign_gamma0/gcc_no_plt_no_pic/basicassign_gamma0.expected index 03e18c02b..c35a9cbbb 100644 --- a/src/test/correct/basicassign_gamma0/gcc_no_plt_no_pic/basicassign_gamma0.expected +++ b/src/test/correct/basicassign_gamma0/gcc_no_plt_no_pic/basicassign_gamma0.expected @@ -38,6 +38,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $secret_addr) == old(memory_load32_le(mem, $secret_addr))); + free ensures (memory_load8_le(mem, 1864bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1865bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1866bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1867bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -58,98 +94,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; requires (gamma_load32(Gamma_mem, $secret_addr) == true); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1864bv64) == 1bv8); free requires (memory_load8_le(mem, 1865bv64) == 0bv8); free requires (memory_load8_le(mem, 1866bv64) == 2bv8); free requires (memory_load8_le(mem, 1867bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -158,22 +138,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -182,6 +146,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1864bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1865bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1866bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1867bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lmain: R0, Gamma_R0 := 69632bv64, true; diff --git a/src/test/correct/basicassign_gamma0/gcc_pic/basicassign_gamma0.expected b/src/test/correct/basicassign_gamma0/gcc_pic/basicassign_gamma0.expected index 60e4e6788..3ad1c1582 100644 --- a/src/test/correct/basicassign_gamma0/gcc_pic/basicassign_gamma0.expected +++ b/src/test/correct/basicassign_gamma0/gcc_pic/basicassign_gamma0.expected @@ -46,6 +46,58 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $secret_addr) == old(memory_load32_le(mem, $secret_addr))); + free ensures (memory_load8_le(mem, 1928bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1929bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1930bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1931bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69608bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69609bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69610bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69611bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69612bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69613bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69614bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69615bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -66,106 +118,26 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; requires (gamma_load32(Gamma_mem, $secret_addr) == true); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1928bv64) == 1bv8); free requires (memory_load8_le(mem, 1929bv64) == 0bv8); free requires (memory_load8_le(mem, 1930bv64) == 2bv8); free requires (memory_load8_le(mem, 1931bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 208bv8); - free requires (memory_load8_le(mem, 69537bv64) == 5bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 208bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 208bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 152bv8); - free requires (memory_load8_le(mem, 69569bv64) == 13bv8); - free requires (memory_load8_le(mem, 69570bv64) == 1bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 20bv8); - free requires (memory_load8_le(mem, 69593bv64) == 16bv8); - free requires (memory_load8_le(mem, 69594bv64) == 1bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); free requires (memory_load8_le(mem, 69608bv64) == 24bv8); free requires (memory_load8_le(mem, 69609bv64) == 16bv8); free requires (memory_load8_le(mem, 69610bv64) == 1bv8); @@ -174,30 +146,6 @@ procedure main() free requires (memory_load8_le(mem, 69613bv64) == 0bv8); free requires (memory_load8_le(mem, 69614bv64) == 0bv8); free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 84bv8); - free requires (memory_load8_le(mem, 69617bv64) == 7bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -206,6 +154,90 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 84bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 0bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 16bv8); + free requires (memory_load8_le(mem, 69594bv64) == 1bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 80bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1928bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1929bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1930bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1931bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69608bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69609bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69610bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69611bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69612bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69613bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69614bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69615bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); { lmain: R0, Gamma_R0 := 65536bv64, true; diff --git a/src/test/correct/basicfree/clang/basicfree.expected b/src/test/correct/basicfree/clang/basicfree.expected index bcf84d249..d1a4de447 100644 --- a/src/test/correct/basicfree/clang/basicfree.expected +++ b/src/test/correct/basicfree/clang/basicfree.expected @@ -51,9 +51,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2080bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2081bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2082bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2083bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69688bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69689bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69690bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69691bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69692bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69693bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69694bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69695bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -70,45 +105,26 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure #free(); - -procedure main() - modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 2080bv64) == 1bv8); free requires (memory_load8_le(mem, 2081bv64) == 0bv8); free requires (memory_load8_le(mem, 2082bv64) == 2bv8); free requires (memory_load8_le(mem, 2083bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 208bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 128bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 212bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -117,14 +133,53 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69688bv64) == 56bv8); + free requires (memory_load8_le(mem, 69689bv64) == 16bv8); + free requires (memory_load8_le(mem, 69690bv64) == 1bv8); + free requires (memory_load8_le(mem, 69691bv64) == 0bv8); + free requires (memory_load8_le(mem, 69692bv64) == 0bv8); + free requires (memory_load8_le(mem, 69693bv64) == 0bv8); + free requires (memory_load8_le(mem, 69694bv64) == 0bv8); + free requires (memory_load8_le(mem, 69695bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2080bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2081bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2082bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2083bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69688bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69689bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69690bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69691bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69692bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69693bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69694bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69695bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 69680bv64) == 0bv8); free requires (memory_load8_le(mem, 69681bv64) == 0bv8); free requires (memory_load8_le(mem, 69682bv64) == 0bv8); @@ -141,10 +196,82 @@ procedure main() free requires (memory_load8_le(mem, 69693bv64) == 0bv8); free requires (memory_load8_le(mem, 69694bv64) == 0bv8); free requires (memory_load8_le(mem, 69695bv64) == 0bv8); + free requires (memory_load8_le(mem, 2080bv64) == 1bv8); + free requires (memory_load8_le(mem, 2081bv64) == 0bv8); + free requires (memory_load8_le(mem, 2082bv64) == 2bv8); + free requires (memory_load8_le(mem, 2083bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 208bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 128bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 212bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69688bv64) == 56bv8); + free requires (memory_load8_le(mem, 69689bv64) == 16bv8); + free requires (memory_load8_le(mem, 69690bv64) == 1bv8); + free requires (memory_load8_le(mem, 69691bv64) == 0bv8); + free requires (memory_load8_le(mem, 69692bv64) == 0bv8); + free requires (memory_load8_le(mem, 69693bv64) == 0bv8); + free requires (memory_load8_le(mem, 69694bv64) == 0bv8); + free requires (memory_load8_le(mem, 69695bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2080bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2081bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2082bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2083bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69688bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69689bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69690bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69691bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69692bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69693bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69694bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69695bv64) == 0bv8); { var #4: bv64; var #5: bv64; @@ -182,3 +309,75 @@ procedure main() } procedure malloc(); + free requires (memory_load8_le(mem, 2080bv64) == 1bv8); + free requires (memory_load8_le(mem, 2081bv64) == 0bv8); + free requires (memory_load8_le(mem, 2082bv64) == 2bv8); + free requires (memory_load8_le(mem, 2083bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 208bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 128bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 212bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69688bv64) == 56bv8); + free requires (memory_load8_le(mem, 69689bv64) == 16bv8); + free requires (memory_load8_le(mem, 69690bv64) == 1bv8); + free requires (memory_load8_le(mem, 69691bv64) == 0bv8); + free requires (memory_load8_le(mem, 69692bv64) == 0bv8); + free requires (memory_load8_le(mem, 69693bv64) == 0bv8); + free requires (memory_load8_le(mem, 69694bv64) == 0bv8); + free requires (memory_load8_le(mem, 69695bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2080bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2081bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2082bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2083bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69688bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69689bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69690bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69691bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69692bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69693bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69694bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69695bv64) == 0bv8); diff --git a/src/test/correct/basicfree/clang_O2/basicfree.expected b/src/test/correct/basicfree/clang_O2/basicfree.expected index becc885ef..a90fe6a8c 100644 --- a/src/test/correct/basicfree/clang_O2/basicfree.expected +++ b/src/test/correct/basicfree/clang_O2/basicfree.expected @@ -8,9 +8,44 @@ function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1836bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1837bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1838bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1839bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -27,42 +62,42 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure main() + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1836bv64) == 1bv8); free requires (memory_load8_le(mem, 1837bv64) == 0bv8); free requires (memory_load8_le(mem, 1838bv64) == 2bv8); free requires (memory_load8_le(mem, 1839bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -71,22 +106,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -95,6 +114,42 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1836bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1837bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1838bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1839bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { lmain: return; diff --git a/src/test/correct/basicfree/clang_no_plt_no_pic/basicfree.expected b/src/test/correct/basicfree/clang_no_plt_no_pic/basicfree.expected index 055e8c950..c7a05b1a2 100644 --- a/src/test/correct/basicfree/clang_no_plt_no_pic/basicfree.expected +++ b/src/test/correct/basicfree/clang_no_plt_no_pic/basicfree.expected @@ -51,9 +51,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2080bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2081bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2082bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2083bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69688bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69689bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69690bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69691bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69692bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69693bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69694bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69695bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -70,45 +105,26 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure #free(); - -procedure main() - modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 2080bv64) == 1bv8); free requires (memory_load8_le(mem, 2081bv64) == 0bv8); free requires (memory_load8_le(mem, 2082bv64) == 2bv8); free requires (memory_load8_le(mem, 2083bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 208bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 128bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 212bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -117,14 +133,53 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69688bv64) == 56bv8); + free requires (memory_load8_le(mem, 69689bv64) == 16bv8); + free requires (memory_load8_le(mem, 69690bv64) == 1bv8); + free requires (memory_load8_le(mem, 69691bv64) == 0bv8); + free requires (memory_load8_le(mem, 69692bv64) == 0bv8); + free requires (memory_load8_le(mem, 69693bv64) == 0bv8); + free requires (memory_load8_le(mem, 69694bv64) == 0bv8); + free requires (memory_load8_le(mem, 69695bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2080bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2081bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2082bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2083bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69688bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69689bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69690bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69691bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69692bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69693bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69694bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69695bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 69680bv64) == 0bv8); free requires (memory_load8_le(mem, 69681bv64) == 0bv8); free requires (memory_load8_le(mem, 69682bv64) == 0bv8); @@ -141,10 +196,82 @@ procedure main() free requires (memory_load8_le(mem, 69693bv64) == 0bv8); free requires (memory_load8_le(mem, 69694bv64) == 0bv8); free requires (memory_load8_le(mem, 69695bv64) == 0bv8); + free requires (memory_load8_le(mem, 2080bv64) == 1bv8); + free requires (memory_load8_le(mem, 2081bv64) == 0bv8); + free requires (memory_load8_le(mem, 2082bv64) == 2bv8); + free requires (memory_load8_le(mem, 2083bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 208bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 128bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 212bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69688bv64) == 56bv8); + free requires (memory_load8_le(mem, 69689bv64) == 16bv8); + free requires (memory_load8_le(mem, 69690bv64) == 1bv8); + free requires (memory_load8_le(mem, 69691bv64) == 0bv8); + free requires (memory_load8_le(mem, 69692bv64) == 0bv8); + free requires (memory_load8_le(mem, 69693bv64) == 0bv8); + free requires (memory_load8_le(mem, 69694bv64) == 0bv8); + free requires (memory_load8_le(mem, 69695bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2080bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2081bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2082bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2083bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69688bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69689bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69690bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69691bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69692bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69693bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69694bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69695bv64) == 0bv8); { var #4: bv64; var #5: bv64; @@ -182,3 +309,75 @@ procedure main() } procedure malloc(); + free requires (memory_load8_le(mem, 2080bv64) == 1bv8); + free requires (memory_load8_le(mem, 2081bv64) == 0bv8); + free requires (memory_load8_le(mem, 2082bv64) == 2bv8); + free requires (memory_load8_le(mem, 2083bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 208bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 128bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 212bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69688bv64) == 56bv8); + free requires (memory_load8_le(mem, 69689bv64) == 16bv8); + free requires (memory_load8_le(mem, 69690bv64) == 1bv8); + free requires (memory_load8_le(mem, 69691bv64) == 0bv8); + free requires (memory_load8_le(mem, 69692bv64) == 0bv8); + free requires (memory_load8_le(mem, 69693bv64) == 0bv8); + free requires (memory_load8_le(mem, 69694bv64) == 0bv8); + free requires (memory_load8_le(mem, 69695bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2080bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2081bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2082bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2083bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69688bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69689bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69690bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69691bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69692bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69693bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69694bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69695bv64) == 0bv8); diff --git a/src/test/correct/basicfree/clang_pic/basicfree.expected b/src/test/correct/basicfree/clang_pic/basicfree.expected index 055e8c950..c7a05b1a2 100644 --- a/src/test/correct/basicfree/clang_pic/basicfree.expected +++ b/src/test/correct/basicfree/clang_pic/basicfree.expected @@ -51,9 +51,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2080bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2081bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2082bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2083bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69688bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69689bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69690bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69691bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69692bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69693bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69694bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69695bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -70,45 +105,26 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure #free(); - -procedure main() - modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 2080bv64) == 1bv8); free requires (memory_load8_le(mem, 2081bv64) == 0bv8); free requires (memory_load8_le(mem, 2082bv64) == 2bv8); free requires (memory_load8_le(mem, 2083bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 208bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 128bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 212bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -117,14 +133,53 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69688bv64) == 56bv8); + free requires (memory_load8_le(mem, 69689bv64) == 16bv8); + free requires (memory_load8_le(mem, 69690bv64) == 1bv8); + free requires (memory_load8_le(mem, 69691bv64) == 0bv8); + free requires (memory_load8_le(mem, 69692bv64) == 0bv8); + free requires (memory_load8_le(mem, 69693bv64) == 0bv8); + free requires (memory_load8_le(mem, 69694bv64) == 0bv8); + free requires (memory_load8_le(mem, 69695bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2080bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2081bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2082bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2083bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69688bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69689bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69690bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69691bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69692bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69693bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69694bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69695bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 69680bv64) == 0bv8); free requires (memory_load8_le(mem, 69681bv64) == 0bv8); free requires (memory_load8_le(mem, 69682bv64) == 0bv8); @@ -141,10 +196,82 @@ procedure main() free requires (memory_load8_le(mem, 69693bv64) == 0bv8); free requires (memory_load8_le(mem, 69694bv64) == 0bv8); free requires (memory_load8_le(mem, 69695bv64) == 0bv8); + free requires (memory_load8_le(mem, 2080bv64) == 1bv8); + free requires (memory_load8_le(mem, 2081bv64) == 0bv8); + free requires (memory_load8_le(mem, 2082bv64) == 2bv8); + free requires (memory_load8_le(mem, 2083bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 208bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 128bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 212bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69688bv64) == 56bv8); + free requires (memory_load8_le(mem, 69689bv64) == 16bv8); + free requires (memory_load8_le(mem, 69690bv64) == 1bv8); + free requires (memory_load8_le(mem, 69691bv64) == 0bv8); + free requires (memory_load8_le(mem, 69692bv64) == 0bv8); + free requires (memory_load8_le(mem, 69693bv64) == 0bv8); + free requires (memory_load8_le(mem, 69694bv64) == 0bv8); + free requires (memory_load8_le(mem, 69695bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2080bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2081bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2082bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2083bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69688bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69689bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69690bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69691bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69692bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69693bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69694bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69695bv64) == 0bv8); { var #4: bv64; var #5: bv64; @@ -182,3 +309,75 @@ procedure main() } procedure malloc(); + free requires (memory_load8_le(mem, 2080bv64) == 1bv8); + free requires (memory_load8_le(mem, 2081bv64) == 0bv8); + free requires (memory_load8_le(mem, 2082bv64) == 2bv8); + free requires (memory_load8_le(mem, 2083bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 208bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 128bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 212bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69688bv64) == 56bv8); + free requires (memory_load8_le(mem, 69689bv64) == 16bv8); + free requires (memory_load8_le(mem, 69690bv64) == 1bv8); + free requires (memory_load8_le(mem, 69691bv64) == 0bv8); + free requires (memory_load8_le(mem, 69692bv64) == 0bv8); + free requires (memory_load8_le(mem, 69693bv64) == 0bv8); + free requires (memory_load8_le(mem, 69694bv64) == 0bv8); + free requires (memory_load8_le(mem, 69695bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2080bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2081bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2082bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2083bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69688bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69689bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69690bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69691bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69692bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69693bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69694bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69695bv64) == 0bv8); diff --git a/src/test/correct/basicfree/gcc/basicfree.expected b/src/test/correct/basicfree/gcc/basicfree.expected index 25e458971..03e92fb48 100644 --- a/src/test/correct/basicfree/gcc/basicfree.expected +++ b/src/test/correct/basicfree/gcc/basicfree.expected @@ -49,9 +49,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2076bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2078bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -68,117 +103,26 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure #free(); - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 2076bv64) == 1bv8); free requires (memory_load8_le(mem, 2077bv64) == 0bv8); free requires (memory_load8_le(mem, 2078bv64) == 2bv8); free requires (memory_load8_le(mem, 2079bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 16bv8); - free requires (memory_load8_le(mem, 69537bv64) == 6bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 16bv8); - free requires (memory_load8_le(mem, 69545bv64) == 6bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 16bv8); - free requires (memory_load8_le(mem, 69553bv64) == 6bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 16bv8); - free requires (memory_load8_le(mem, 69561bv64) == 6bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 16bv8); - free requires (memory_load8_le(mem, 69569bv64) == 6bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 16bv8); - free requires (memory_load8_le(mem, 69577bv64) == 6bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 152bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 208bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 128bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 212bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -187,14 +131,53 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2076bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2078bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -211,10 +194,82 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 2076bv64) == 1bv8); + free requires (memory_load8_le(mem, 2077bv64) == 0bv8); + free requires (memory_load8_le(mem, 2078bv64) == 2bv8); + free requires (memory_load8_le(mem, 2079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 208bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 128bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 212bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2076bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2078bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -249,3 +304,75 @@ procedure main() } procedure malloc(); + free requires (memory_load8_le(mem, 2076bv64) == 1bv8); + free requires (memory_load8_le(mem, 2077bv64) == 0bv8); + free requires (memory_load8_le(mem, 2078bv64) == 2bv8); + free requires (memory_load8_le(mem, 2079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 208bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 128bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 212bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2076bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2078bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); diff --git a/src/test/correct/basicfree/gcc_O2/basicfree.expected b/src/test/correct/basicfree/gcc_O2/basicfree.expected index 8fa93165d..9b4a9cae8 100644 --- a/src/test/correct/basicfree/gcc_O2/basicfree.expected +++ b/src/test/correct/basicfree/gcc_O2/basicfree.expected @@ -8,9 +8,44 @@ function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -27,98 +62,42 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure main() + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1896bv64) == 1bv8); free requires (memory_load8_le(mem, 1897bv64) == 0bv8); free requires (memory_load8_le(mem, 1898bv64) == 2bv8); free requires (memory_load8_le(mem, 1899bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 80bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 0bv8); + free requires (memory_load8_le(mem, 69025bv64) == 7bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 0bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -127,22 +106,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -151,6 +114,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lmain: return; diff --git a/src/test/correct/basicfree/gcc_no_plt_no_pic/basicfree.expected b/src/test/correct/basicfree/gcc_no_plt_no_pic/basicfree.expected index 455b49800..aa699da98 100644 --- a/src/test/correct/basicfree/gcc_no_plt_no_pic/basicfree.expected +++ b/src/test/correct/basicfree/gcc_no_plt_no_pic/basicfree.expected @@ -49,9 +49,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2076bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2078bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -68,117 +103,26 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure #free(); - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 2076bv64) == 1bv8); free requires (memory_load8_le(mem, 2077bv64) == 0bv8); free requires (memory_load8_le(mem, 2078bv64) == 2bv8); free requires (memory_load8_le(mem, 2079bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 16bv8); - free requires (memory_load8_le(mem, 69537bv64) == 6bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 16bv8); - free requires (memory_load8_le(mem, 69545bv64) == 6bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 16bv8); - free requires (memory_load8_le(mem, 69553bv64) == 6bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 16bv8); - free requires (memory_load8_le(mem, 69561bv64) == 6bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 16bv8); - free requires (memory_load8_le(mem, 69569bv64) == 6bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 16bv8); - free requires (memory_load8_le(mem, 69577bv64) == 6bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 152bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 208bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 128bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 212bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -187,14 +131,53 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2076bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2078bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -211,10 +194,82 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 2076bv64) == 1bv8); + free requires (memory_load8_le(mem, 2077bv64) == 0bv8); + free requires (memory_load8_le(mem, 2078bv64) == 2bv8); + free requires (memory_load8_le(mem, 2079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 208bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 128bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 212bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2076bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2078bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -249,3 +304,75 @@ procedure main() } procedure malloc(); + free requires (memory_load8_le(mem, 2076bv64) == 1bv8); + free requires (memory_load8_le(mem, 2077bv64) == 0bv8); + free requires (memory_load8_le(mem, 2078bv64) == 2bv8); + free requires (memory_load8_le(mem, 2079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 208bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 128bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 212bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2076bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2078bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); diff --git a/src/test/correct/basicfree/gcc_pic/basicfree.expected b/src/test/correct/basicfree/gcc_pic/basicfree.expected index 455b49800..aa699da98 100644 --- a/src/test/correct/basicfree/gcc_pic/basicfree.expected +++ b/src/test/correct/basicfree/gcc_pic/basicfree.expected @@ -49,9 +49,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2076bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2078bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -68,117 +103,26 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure #free(); - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 2076bv64) == 1bv8); free requires (memory_load8_le(mem, 2077bv64) == 0bv8); free requires (memory_load8_le(mem, 2078bv64) == 2bv8); free requires (memory_load8_le(mem, 2079bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 16bv8); - free requires (memory_load8_le(mem, 69537bv64) == 6bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 16bv8); - free requires (memory_load8_le(mem, 69545bv64) == 6bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 16bv8); - free requires (memory_load8_le(mem, 69553bv64) == 6bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 16bv8); - free requires (memory_load8_le(mem, 69561bv64) == 6bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 16bv8); - free requires (memory_load8_le(mem, 69569bv64) == 6bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 16bv8); - free requires (memory_load8_le(mem, 69577bv64) == 6bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 152bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 208bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 128bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 212bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -187,14 +131,53 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2076bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2078bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -211,10 +194,82 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 2076bv64) == 1bv8); + free requires (memory_load8_le(mem, 2077bv64) == 0bv8); + free requires (memory_load8_le(mem, 2078bv64) == 2bv8); + free requires (memory_load8_le(mem, 2079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 208bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 128bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 212bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2076bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2078bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -249,3 +304,75 @@ procedure main() } procedure malloc(); + free requires (memory_load8_le(mem, 2076bv64) == 1bv8); + free requires (memory_load8_le(mem, 2077bv64) == 0bv8); + free requires (memory_load8_le(mem, 2078bv64) == 2bv8); + free requires (memory_load8_le(mem, 2079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 208bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 128bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 212bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2076bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2078bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); diff --git a/src/test/correct/cjump/clang/cjump.expected b/src/test/correct/cjump/clang/cjump.expected index 94651911b..a1f50be40 100644 --- a/src/test/correct/cjump/clang/cjump.expected +++ b/src/test/correct/cjump/clang/cjump.expected @@ -50,9 +50,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1916bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1917bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1918bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1919bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -72,42 +107,42 @@ procedure main() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R31, R8, R9, mem, stack; requires (gamma_load32(Gamma_mem, $x_addr) == true); requires (gamma_load32(Gamma_mem, $y_addr) == false); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1916bv64) == 1bv8); free requires (memory_load8_le(mem, 1917bv64) == 0bv8); free requires (memory_load8_le(mem, 1918bv64) == 2bv8); free requires (memory_load8_le(mem, 1919bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -116,22 +151,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -142,6 +161,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1916bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1917bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1918bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1919bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/cjump/clang_O2/cjump.expected b/src/test/correct/cjump/clang_O2/cjump.expected index 75d216f50..54f5bda73 100644 --- a/src/test/correct/cjump/clang_O2/cjump.expected +++ b/src/test/correct/cjump/clang_O2/cjump.expected @@ -37,9 +37,44 @@ function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1864bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1865bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1866bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1867bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -59,42 +94,42 @@ procedure main() modifies Gamma_R0, Gamma_R10, Gamma_R11, Gamma_R8, Gamma_R9, Gamma_mem, R0, R10, R11, R8, R9, mem; requires (gamma_load32(Gamma_mem, $x_addr) == true); requires (gamma_load32(Gamma_mem, $y_addr) == false); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1864bv64) == 1bv8); free requires (memory_load8_le(mem, 1865bv64) == 0bv8); free requires (memory_load8_le(mem, 1866bv64) == 2bv8); free requires (memory_load8_le(mem, 1867bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -103,22 +138,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -127,6 +146,42 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1864bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1865bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1866bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1867bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { lmain: R0, Gamma_R0 := 0bv64, true; diff --git a/src/test/correct/cjump/clang_no_plt_no_pic/cjump.expected b/src/test/correct/cjump/clang_no_plt_no_pic/cjump.expected index 956b7c128..ea5089d8b 100644 --- a/src/test/correct/cjump/clang_no_plt_no_pic/cjump.expected +++ b/src/test/correct/cjump/clang_no_plt_no_pic/cjump.expected @@ -50,9 +50,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1916bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1917bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1918bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1919bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -72,42 +107,42 @@ procedure main() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R31, R8, R9, mem, stack; requires (gamma_load32(Gamma_mem, $x_addr) == true); requires (gamma_load32(Gamma_mem, $y_addr) == false); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1916bv64) == 1bv8); free requires (memory_load8_le(mem, 1917bv64) == 0bv8); free requires (memory_load8_le(mem, 1918bv64) == 2bv8); free requires (memory_load8_le(mem, 1919bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -116,22 +151,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -142,6 +161,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1916bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1917bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1918bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1919bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/cjump/clang_pic/cjump.expected b/src/test/correct/cjump/clang_pic/cjump.expected index 654170f99..a13ac5fd1 100644 --- a/src/test/correct/cjump/clang_pic/cjump.expected +++ b/src/test/correct/cjump/clang_pic/cjump.expected @@ -58,9 +58,60 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1992bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1993bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1994bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69584bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69585bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69586bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69568bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -80,50 +131,34 @@ procedure main() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R31, R8, R9, mem, stack; requires (gamma_load32(Gamma_mem, $x_addr) == true); requires (gamma_load32(Gamma_mem, $y_addr) == false); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1992bv64) == 1bv8); free requires (memory_load8_le(mem, 1993bv64) == 0bv8); free requires (memory_load8_le(mem, 1994bv64) == 2bv8); free requires (memory_load8_le(mem, 1995bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 200bv8); - free requires (memory_load8_le(mem, 69545bv64) == 13bv8); - free requires (memory_load8_le(mem, 69546bv64) == 1bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 0bv8); - free requires (memory_load8_le(mem, 69553bv64) == 0bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 0bv8); - free requires (memory_load8_le(mem, 69561bv64) == 0bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 52bv8); - free requires (memory_load8_le(mem, 69569bv64) == 16bv8); - free requires (memory_load8_le(mem, 69570bv64) == 1bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 69584bv64) == 56bv8); free requires (memory_load8_le(mem, 69585bv64) == 16bv8); free requires (memory_load8_le(mem, 69586bv64) == 1bv8); @@ -132,6 +167,22 @@ procedure main() free requires (memory_load8_le(mem, 69589bv64) == 0bv8); free requires (memory_load8_le(mem, 69590bv64) == 0bv8); free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69048bv64) == 80bv8); + free requires (memory_load8_le(mem, 69049bv64) == 7bv8); + free requires (memory_load8_le(mem, 69050bv64) == 0bv8); + free requires (memory_load8_le(mem, 69051bv64) == 0bv8); + free requires (memory_load8_le(mem, 69052bv64) == 0bv8); + free requires (memory_load8_le(mem, 69053bv64) == 0bv8); + free requires (memory_load8_le(mem, 69054bv64) == 0bv8); + free requires (memory_load8_le(mem, 69055bv64) == 0bv8); + free requires (memory_load8_le(mem, 69568bv64) == 52bv8); + free requires (memory_load8_le(mem, 69569bv64) == 16bv8); + free requires (memory_load8_le(mem, 69570bv64) == 1bv8); + free requires (memory_load8_le(mem, 69571bv64) == 0bv8); + free requires (memory_load8_le(mem, 69572bv64) == 0bv8); + free requires (memory_load8_le(mem, 69573bv64) == 0bv8); + free requires (memory_load8_le(mem, 69574bv64) == 0bv8); + free requires (memory_load8_le(mem, 69575bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 84bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -140,32 +191,68 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 40bv8); - free requires (memory_load8_le(mem, 69673bv64) == 16bv8); - free requires (memory_load8_le(mem, 69674bv64) == 1bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69056bv64) == 0bv8); + free requires (memory_load8_le(mem, 69057bv64) == 7bv8); + free requires (memory_load8_le(mem, 69058bv64) == 0bv8); + free requires (memory_load8_le(mem, 69059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69060bv64) == 0bv8); + free requires (memory_load8_le(mem, 69061bv64) == 0bv8); + free requires (memory_load8_le(mem, 69062bv64) == 0bv8); + free requires (memory_load8_le(mem, 69063bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1992bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1993bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1994bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69584bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69585bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69586bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69568bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/cjump/gcc/cjump.expected b/src/test/correct/cjump/gcc/cjump.expected index bfd862bf7..e31d980bd 100644 --- a/src/test/correct/cjump/gcc/cjump.expected +++ b/src/test/correct/cjump/gcc/cjump.expected @@ -44,9 +44,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1912bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1913bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1914bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1915bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -66,98 +101,42 @@ procedure main() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; requires (gamma_load32(Gamma_mem, $x_addr) == true); requires (gamma_load32(Gamma_mem, $y_addr) == false); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1912bv64) == 1bv8); free requires (memory_load8_le(mem, 1913bv64) == 0bv8); free requires (memory_load8_le(mem, 1914bv64) == 2bv8); free requires (memory_load8_le(mem, 1915bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -166,22 +145,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -190,6 +153,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1912bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1913bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1914bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1915bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/cjump/gcc_O2/cjump.expected b/src/test/correct/cjump/gcc_O2/cjump.expected index d91b436ca..97109c2f0 100644 --- a/src/test/correct/cjump/gcc_O2/cjump.expected +++ b/src/test/correct/cjump/gcc_O2/cjump.expected @@ -35,9 +35,44 @@ function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -57,98 +92,42 @@ procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R2, Gamma_R3, Gamma_mem, R0, R1, R2, R3, mem; requires (gamma_load32(Gamma_mem, $x_addr) == true); requires (gamma_load32(Gamma_mem, $y_addr) == false); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1896bv64) == 1bv8); free requires (memory_load8_le(mem, 1897bv64) == 0bv8); free requires (memory_load8_le(mem, 1898bv64) == 2bv8); free requires (memory_load8_le(mem, 1899bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 80bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 0bv8); + free requires (memory_load8_le(mem, 69025bv64) == 7bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 0bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -157,22 +136,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -181,6 +144,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lmain: R0, Gamma_R0 := 69632bv64, true; diff --git a/src/test/correct/cjump/gcc_no_plt_no_pic/cjump.expected b/src/test/correct/cjump/gcc_no_plt_no_pic/cjump.expected index 40107f685..c6e094b35 100644 --- a/src/test/correct/cjump/gcc_no_plt_no_pic/cjump.expected +++ b/src/test/correct/cjump/gcc_no_plt_no_pic/cjump.expected @@ -44,9 +44,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1912bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1913bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1914bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1915bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -66,98 +101,42 @@ procedure main() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; requires (gamma_load32(Gamma_mem, $x_addr) == true); requires (gamma_load32(Gamma_mem, $y_addr) == false); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1912bv64) == 1bv8); free requires (memory_load8_le(mem, 1913bv64) == 0bv8); free requires (memory_load8_le(mem, 1914bv64) == 2bv8); free requires (memory_load8_le(mem, 1915bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -166,22 +145,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -190,6 +153,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1912bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1913bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1914bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1915bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/cjump/gcc_pic/cjump.expected b/src/test/correct/cjump/gcc_pic/cjump.expected index c8bf147a5..fd046a1da 100644 --- a/src/test/correct/cjump/gcc_pic/cjump.expected +++ b/src/test/correct/cjump/gcc_pic/cjump.expected @@ -52,9 +52,60 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1976bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1977bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1978bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1979bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69608bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69609bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69610bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69611bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69612bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69613bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69614bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69615bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -74,106 +125,26 @@ procedure main() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; requires (gamma_load32(Gamma_mem, $x_addr) == true); requires (gamma_load32(Gamma_mem, $y_addr) == false); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1976bv64) == 1bv8); free requires (memory_load8_le(mem, 1977bv64) == 0bv8); free requires (memory_load8_le(mem, 1978bv64) == 2bv8); free requires (memory_load8_le(mem, 1979bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 208bv8); - free requires (memory_load8_le(mem, 69537bv64) == 5bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 208bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 208bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 152bv8); - free requires (memory_load8_le(mem, 69569bv64) == 13bv8); - free requires (memory_load8_le(mem, 69570bv64) == 1bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 20bv8); - free requires (memory_load8_le(mem, 69593bv64) == 16bv8); - free requires (memory_load8_le(mem, 69594bv64) == 1bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); free requires (memory_load8_le(mem, 69608bv64) == 24bv8); free requires (memory_load8_le(mem, 69609bv64) == 16bv8); free requires (memory_load8_le(mem, 69610bv64) == 1bv8); @@ -182,30 +153,6 @@ procedure main() free requires (memory_load8_le(mem, 69613bv64) == 0bv8); free requires (memory_load8_le(mem, 69614bv64) == 0bv8); free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 84bv8); - free requires (memory_load8_le(mem, 69617bv64) == 7bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -214,6 +161,90 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 84bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 0bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 16bv8); + free requires (memory_load8_le(mem, 69594bv64) == 1bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 80bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1976bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1977bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1978bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1979bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69608bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69609bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69610bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69611bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69612bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69613bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69614bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69615bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/function/clang/function.expected b/src/test/correct/function/clang/function.expected index 82141c76d..e82b5a928 100644 --- a/src/test/correct/function/clang/function.expected +++ b/src/test/correct/function/clang/function.expected @@ -57,9 +57,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1884bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1885bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1886bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1887bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -77,7 +112,79 @@ procedure guarantee_reflexive(); procedure get_two() modifies Gamma_R0, R0; + free requires (memory_load8_le(mem, 1884bv64) == 1bv8); + free requires (memory_load8_le(mem, 1885bv64) == 0bv8); + free requires (memory_load8_le(mem, 1886bv64) == 2bv8); + free requires (memory_load8_le(mem, 1887bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); ensures (Gamma_R0 == true); + free ensures (memory_load8_le(mem, 1884bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1885bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1886bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1887bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { lget_two: R0, Gamma_R0 := 2bv64, true; @@ -88,42 +195,42 @@ procedure main() modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R29, R30, R31, R8, R9, mem, stack; requires (gamma_load32(Gamma_mem, $x_addr) == true); requires (gamma_load32(Gamma_mem, $y_addr) == true); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1884bv64) == 1bv8); free requires (memory_load8_le(mem, 1885bv64) == 0bv8); free requires (memory_load8_le(mem, 1886bv64) == 2bv8); free requires (memory_load8_le(mem, 1887bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -132,22 +239,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -160,6 +251,42 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1884bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1885bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1886bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1887bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; diff --git a/src/test/correct/function/clang_O2/function.expected b/src/test/correct/function/clang_O2/function.expected index ebb6b9601..6da2259d6 100644 --- a/src/test/correct/function/clang_O2/function.expected +++ b/src/test/correct/function/clang_O2/function.expected @@ -37,9 +37,44 @@ function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1872bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1873bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1874bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1875bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -59,42 +94,42 @@ procedure main() modifies Gamma_R0, Gamma_R10, Gamma_R11, Gamma_R8, Gamma_R9, Gamma_mem, R0, R10, R11, R8, R9, mem; requires (gamma_load32(Gamma_mem, $x_addr) == true); requires (gamma_load32(Gamma_mem, $y_addr) == true); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1872bv64) == 1bv8); free requires (memory_load8_le(mem, 1873bv64) == 0bv8); free requires (memory_load8_le(mem, 1874bv64) == 2bv8); free requires (memory_load8_le(mem, 1875bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -103,22 +138,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -127,6 +146,42 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1872bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1873bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1874bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1875bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { lmain: R0, Gamma_R0 := 0bv64, true; diff --git a/src/test/correct/function/clang_no_plt_no_pic/function.expected b/src/test/correct/function/clang_no_plt_no_pic/function.expected index 82141c76d..e82b5a928 100644 --- a/src/test/correct/function/clang_no_plt_no_pic/function.expected +++ b/src/test/correct/function/clang_no_plt_no_pic/function.expected @@ -57,9 +57,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1884bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1885bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1886bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1887bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -77,7 +112,79 @@ procedure guarantee_reflexive(); procedure get_two() modifies Gamma_R0, R0; + free requires (memory_load8_le(mem, 1884bv64) == 1bv8); + free requires (memory_load8_le(mem, 1885bv64) == 0bv8); + free requires (memory_load8_le(mem, 1886bv64) == 2bv8); + free requires (memory_load8_le(mem, 1887bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); ensures (Gamma_R0 == true); + free ensures (memory_load8_le(mem, 1884bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1885bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1886bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1887bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { lget_two: R0, Gamma_R0 := 2bv64, true; @@ -88,42 +195,42 @@ procedure main() modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R29, R30, R31, R8, R9, mem, stack; requires (gamma_load32(Gamma_mem, $x_addr) == true); requires (gamma_load32(Gamma_mem, $y_addr) == true); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1884bv64) == 1bv8); free requires (memory_load8_le(mem, 1885bv64) == 0bv8); free requires (memory_load8_le(mem, 1886bv64) == 2bv8); free requires (memory_load8_le(mem, 1887bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -132,22 +239,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -160,6 +251,42 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1884bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1885bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1886bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1887bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; diff --git a/src/test/correct/function/clang_pic/function.expected b/src/test/correct/function/clang_pic/function.expected index 2d0b6fb6a..faa94986c 100644 --- a/src/test/correct/function/clang_pic/function.expected +++ b/src/test/correct/function/clang_pic/function.expected @@ -57,9 +57,60 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1956bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1957bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1958bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1959bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69584bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69585bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69586bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69568bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -77,61 +128,18 @@ procedure guarantee_reflexive(); procedure get_two() modifies Gamma_R0, R0; - ensures (Gamma_R0 == true); -{ - lget_two: - R0, Gamma_R0 := 2bv64, true; - return; -} - -procedure main() - modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R29, R30, R31, R8, R9, mem, stack; - requires (gamma_load32(Gamma_mem, $x_addr) == true); - requires (gamma_load32(Gamma_mem, $y_addr) == true); free requires (memory_load8_le(mem, 1956bv64) == 1bv8); free requires (memory_load8_le(mem, 1957bv64) == 0bv8); free requires (memory_load8_le(mem, 1958bv64) == 2bv8); free requires (memory_load8_le(mem, 1959bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 200bv8); - free requires (memory_load8_le(mem, 69545bv64) == 13bv8); - free requires (memory_load8_le(mem, 69546bv64) == 1bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 0bv8); - free requires (memory_load8_le(mem, 69553bv64) == 0bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 0bv8); - free requires (memory_load8_le(mem, 69561bv64) == 0bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 52bv8); - free requires (memory_load8_le(mem, 69569bv64) == 16bv8); - free requires (memory_load8_le(mem, 69570bv64) == 1bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 69584bv64) == 56bv8); free requires (memory_load8_le(mem, 69585bv64) == 16bv8); free requires (memory_load8_le(mem, 69586bv64) == 1bv8); @@ -140,6 +148,22 @@ procedure main() free requires (memory_load8_le(mem, 69589bv64) == 0bv8); free requires (memory_load8_le(mem, 69590bv64) == 0bv8); free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69048bv64) == 80bv8); + free requires (memory_load8_le(mem, 69049bv64) == 7bv8); + free requires (memory_load8_le(mem, 69050bv64) == 0bv8); + free requires (memory_load8_le(mem, 69051bv64) == 0bv8); + free requires (memory_load8_le(mem, 69052bv64) == 0bv8); + free requires (memory_load8_le(mem, 69053bv64) == 0bv8); + free requires (memory_load8_le(mem, 69054bv64) == 0bv8); + free requires (memory_load8_le(mem, 69055bv64) == 0bv8); + free requires (memory_load8_le(mem, 69568bv64) == 52bv8); + free requires (memory_load8_le(mem, 69569bv64) == 16bv8); + free requires (memory_load8_le(mem, 69570bv64) == 1bv8); + free requires (memory_load8_le(mem, 69571bv64) == 0bv8); + free requires (memory_load8_le(mem, 69572bv64) == 0bv8); + free requires (memory_load8_le(mem, 69573bv64) == 0bv8); + free requires (memory_load8_le(mem, 69574bv64) == 0bv8); + free requires (memory_load8_le(mem, 69575bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 84bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -148,14 +172,77 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69056bv64) == 0bv8); + free requires (memory_load8_le(mem, 69057bv64) == 7bv8); + free requires (memory_load8_le(mem, 69058bv64) == 0bv8); + free requires (memory_load8_le(mem, 69059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69060bv64) == 0bv8); + free requires (memory_load8_le(mem, 69061bv64) == 0bv8); + free requires (memory_load8_le(mem, 69062bv64) == 0bv8); + free requires (memory_load8_le(mem, 69063bv64) == 0bv8); + ensures (Gamma_R0 == true); + free ensures (memory_load8_le(mem, 1956bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1957bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1958bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1959bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69584bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69585bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69586bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69568bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); +{ + lget_two: + R0, Gamma_R0 := 2bv64, true; + return; +} + +procedure main() + modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R29, R30, R31, R8, R9, mem, stack; + requires (gamma_load32(Gamma_mem, $x_addr) == true); + requires (gamma_load32(Gamma_mem, $y_addr) == true); free requires (memory_load8_le(mem, 69664bv64) == 0bv8); free requires (memory_load8_le(mem, 69665bv64) == 0bv8); free requires (memory_load8_le(mem, 69666bv64) == 0bv8); @@ -172,10 +259,114 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 1956bv64) == 1bv8); + free requires (memory_load8_le(mem, 1957bv64) == 0bv8); + free requires (memory_load8_le(mem, 1958bv64) == 2bv8); + free requires (memory_load8_le(mem, 1959bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69584bv64) == 56bv8); + free requires (memory_load8_le(mem, 69585bv64) == 16bv8); + free requires (memory_load8_le(mem, 69586bv64) == 1bv8); + free requires (memory_load8_le(mem, 69587bv64) == 0bv8); + free requires (memory_load8_le(mem, 69588bv64) == 0bv8); + free requires (memory_load8_le(mem, 69589bv64) == 0bv8); + free requires (memory_load8_le(mem, 69590bv64) == 0bv8); + free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69048bv64) == 80bv8); + free requires (memory_load8_le(mem, 69049bv64) == 7bv8); + free requires (memory_load8_le(mem, 69050bv64) == 0bv8); + free requires (memory_load8_le(mem, 69051bv64) == 0bv8); + free requires (memory_load8_le(mem, 69052bv64) == 0bv8); + free requires (memory_load8_le(mem, 69053bv64) == 0bv8); + free requires (memory_load8_le(mem, 69054bv64) == 0bv8); + free requires (memory_load8_le(mem, 69055bv64) == 0bv8); + free requires (memory_load8_le(mem, 69568bv64) == 52bv8); + free requires (memory_load8_le(mem, 69569bv64) == 16bv8); + free requires (memory_load8_le(mem, 69570bv64) == 1bv8); + free requires (memory_load8_le(mem, 69571bv64) == 0bv8); + free requires (memory_load8_le(mem, 69572bv64) == 0bv8); + free requires (memory_load8_le(mem, 69573bv64) == 0bv8); + free requires (memory_load8_le(mem, 69574bv64) == 0bv8); + free requires (memory_load8_le(mem, 69575bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 84bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69056bv64) == 0bv8); + free requires (memory_load8_le(mem, 69057bv64) == 7bv8); + free requires (memory_load8_le(mem, 69058bv64) == 0bv8); + free requires (memory_load8_le(mem, 69059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69060bv64) == 0bv8); + free requires (memory_load8_le(mem, 69061bv64) == 0bv8); + free requires (memory_load8_le(mem, 69062bv64) == 0bv8); + free requires (memory_load8_le(mem, 69063bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1956bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1957bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1958bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1959bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69584bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69585bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69586bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69568bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; diff --git a/src/test/correct/function/gcc/function.expected b/src/test/correct/function/gcc/function.expected index c64033586..3790cf8dd 100644 --- a/src/test/correct/function/gcc/function.expected +++ b/src/test/correct/function/gcc/function.expected @@ -56,9 +56,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -76,7 +111,79 @@ procedure guarantee_reflexive(); procedure get_two() modifies Gamma_R0, R0; + free requires (memory_load8_le(mem, 1896bv64) == 1bv8); + free requires (memory_load8_le(mem, 1897bv64) == 0bv8); + free requires (memory_load8_le(mem, 1898bv64) == 2bv8); + free requires (memory_load8_le(mem, 1899bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); ensures (Gamma_R0 == true); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lget_two: R0, Gamma_R0 := 2bv64, true; @@ -87,98 +194,42 @@ procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, mem, stack; requires (gamma_load32(Gamma_mem, $x_addr) == true); requires (gamma_load32(Gamma_mem, $y_addr) == true); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1896bv64) == 1bv8); free requires (memory_load8_le(mem, 1897bv64) == 0bv8); free requires (memory_load8_le(mem, 1898bv64) == 2bv8); free requires (memory_load8_le(mem, 1899bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -187,22 +238,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -215,6 +250,42 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; diff --git a/src/test/correct/function/gcc_O2/function.expected b/src/test/correct/function/gcc_O2/function.expected index b162e36cd..4c49c2352 100644 --- a/src/test/correct/function/gcc_O2/function.expected +++ b/src/test/correct/function/gcc_O2/function.expected @@ -35,9 +35,44 @@ function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1916bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1917bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1918bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1919bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -57,98 +92,42 @@ procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R2, Gamma_R3, Gamma_mem, R0, R1, R2, R3, mem; requires (gamma_load32(Gamma_mem, $x_addr) == true); requires (gamma_load32(Gamma_mem, $y_addr) == true); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1916bv64) == 1bv8); free requires (memory_load8_le(mem, 1917bv64) == 0bv8); free requires (memory_load8_le(mem, 1918bv64) == 2bv8); free requires (memory_load8_le(mem, 1919bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 80bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 0bv8); + free requires (memory_load8_le(mem, 69025bv64) == 7bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 0bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -157,22 +136,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -181,6 +144,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1916bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1917bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1918bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1919bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lmain: R0, Gamma_R0 := 69632bv64, true; diff --git a/src/test/correct/function/gcc_no_plt_no_pic/function.expected b/src/test/correct/function/gcc_no_plt_no_pic/function.expected index c64033586..3790cf8dd 100644 --- a/src/test/correct/function/gcc_no_plt_no_pic/function.expected +++ b/src/test/correct/function/gcc_no_plt_no_pic/function.expected @@ -56,9 +56,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -76,7 +111,79 @@ procedure guarantee_reflexive(); procedure get_two() modifies Gamma_R0, R0; + free requires (memory_load8_le(mem, 1896bv64) == 1bv8); + free requires (memory_load8_le(mem, 1897bv64) == 0bv8); + free requires (memory_load8_le(mem, 1898bv64) == 2bv8); + free requires (memory_load8_le(mem, 1899bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); ensures (Gamma_R0 == true); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lget_two: R0, Gamma_R0 := 2bv64, true; @@ -87,98 +194,42 @@ procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, mem, stack; requires (gamma_load32(Gamma_mem, $x_addr) == true); requires (gamma_load32(Gamma_mem, $y_addr) == true); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1896bv64) == 1bv8); free requires (memory_load8_le(mem, 1897bv64) == 0bv8); free requires (memory_load8_le(mem, 1898bv64) == 2bv8); free requires (memory_load8_le(mem, 1899bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -187,22 +238,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -215,6 +250,42 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; diff --git a/src/test/correct/function/gcc_pic/function.expected b/src/test/correct/function/gcc_pic/function.expected index e818e7978..6b2c7626d 100644 --- a/src/test/correct/function/gcc_pic/function.expected +++ b/src/test/correct/function/gcc_pic/function.expected @@ -56,9 +56,60 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1960bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1961bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1962bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1963bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69608bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69609bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69610bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69611bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69612bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69613bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69614bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69615bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -76,117 +127,10 @@ procedure guarantee_reflexive(); procedure get_two() modifies Gamma_R0, R0; - ensures (Gamma_R0 == true); -{ - lget_two: - R0, Gamma_R0 := 2bv64, true; - return; -} - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, mem, stack; - requires (gamma_load32(Gamma_mem, $x_addr) == true); - requires (gamma_load32(Gamma_mem, $y_addr) == true); free requires (memory_load8_le(mem, 1960bv64) == 1bv8); free requires (memory_load8_le(mem, 1961bv64) == 0bv8); free requires (memory_load8_le(mem, 1962bv64) == 2bv8); free requires (memory_load8_le(mem, 1963bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 208bv8); - free requires (memory_load8_le(mem, 69537bv64) == 5bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 208bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 208bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 152bv8); - free requires (memory_load8_le(mem, 69569bv64) == 13bv8); - free requires (memory_load8_le(mem, 69570bv64) == 1bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 20bv8); - free requires (memory_load8_le(mem, 69593bv64) == 16bv8); - free requires (memory_load8_le(mem, 69594bv64) == 1bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); free requires (memory_load8_le(mem, 69608bv64) == 24bv8); free requires (memory_load8_le(mem, 69609bv64) == 16bv8); free requires (memory_load8_le(mem, 69610bv64) == 1bv8); @@ -195,6 +139,14 @@ procedure main() free requires (memory_load8_le(mem, 69613bv64) == 0bv8); free requires (memory_load8_le(mem, 69614bv64) == 0bv8); free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 84bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -203,14 +155,93 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 0bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 16bv8); + free requires (memory_load8_le(mem, 69594bv64) == 1bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 80bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + ensures (Gamma_R0 == true); + free ensures (memory_load8_le(mem, 1960bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1961bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1962bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1963bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69608bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69609bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69610bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69611bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69612bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69613bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69614bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69615bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); +{ + lget_two: + R0, Gamma_R0 := 2bv64, true; + return; +} + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, mem, stack; + requires (gamma_load32(Gamma_mem, $x_addr) == true); + requires (gamma_load32(Gamma_mem, $y_addr) == true); free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -227,10 +258,114 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 1960bv64) == 1bv8); + free requires (memory_load8_le(mem, 1961bv64) == 0bv8); + free requires (memory_load8_le(mem, 1962bv64) == 2bv8); + free requires (memory_load8_le(mem, 1963bv64) == 0bv8); + free requires (memory_load8_le(mem, 69608bv64) == 24bv8); + free requires (memory_load8_le(mem, 69609bv64) == 16bv8); + free requires (memory_load8_le(mem, 69610bv64) == 1bv8); + free requires (memory_load8_le(mem, 69611bv64) == 0bv8); + free requires (memory_load8_le(mem, 69612bv64) == 0bv8); + free requires (memory_load8_le(mem, 69613bv64) == 0bv8); + free requires (memory_load8_le(mem, 69614bv64) == 0bv8); + free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 84bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 0bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 16bv8); + free requires (memory_load8_le(mem, 69594bv64) == 1bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 80bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1960bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1961bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1962bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1963bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69608bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69609bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69610bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69611bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69612bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69613bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69614bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69615bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; diff --git a/src/test/correct/function1/clang/function1.expected b/src/test/correct/function1/clang/function1.expected index 630e064db..69fcf9714 100644 --- a/src/test/correct/function1/clang/function1.expected +++ b/src/test/correct/function1/clang/function1.expected @@ -83,9 +83,48 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2024bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 132bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -103,8 +142,88 @@ procedure guarantee_reflexive(); procedure get_two() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_stack, R0, R31, R8, R9, stack; + free requires (memory_load8_le(mem, 2024bv64) == 1bv8); + free requires (memory_load8_le(mem, 2025bv64) == 0bv8); + free requires (memory_load8_le(mem, 2026bv64) == 2bv8); + free requires (memory_load8_le(mem, 2027bv64) == 0bv8); + free requires (memory_load8_le(mem, 2028bv64) == 37bv8); + free requires (memory_load8_le(mem, 2029bv64) == 100bv8); + free requires (memory_load8_le(mem, 2030bv64) == 10bv8); + free requires (memory_load8_le(mem, 2031bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 132bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2024bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 132bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); { lget_two: R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; @@ -123,6 +242,22 @@ procedure get_two() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R2, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R2, R29, R30, R31, R8, R9, mem, stack; + free requires (memory_load8_le(mem, 69672bv64) == 0bv8); + free requires (memory_load8_le(mem, 69673bv64) == 0bv8); + free requires (memory_load8_le(mem, 69674bv64) == 0bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); free requires (memory_load8_le(mem, 2024bv64) == 1bv8); free requires (memory_load8_le(mem, 2025bv64) == 0bv8); free requires (memory_load8_le(mem, 2026bv64) == 2bv8); @@ -131,38 +266,22 @@ procedure main() free requires (memory_load8_le(mem, 2029bv64) == 100bv8); free requires (memory_load8_le(mem, 2030bv64) == 10bv8); free requires (memory_load8_le(mem, 2031bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 132bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -171,22 +290,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 0bv8); - free requires (memory_load8_le(mem, 69673bv64) == 0bv8); - free requires (memory_load8_le(mem, 69674bv64) == 0bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 69680bv64) == 48bv8); free requires (memory_load8_le(mem, 69681bv64) == 16bv8); free requires (memory_load8_le(mem, 69682bv64) == 1bv8); @@ -199,6 +302,46 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2024bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 132bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -241,3 +384,83 @@ procedure main() } procedure printf(); + free requires (memory_load8_le(mem, 2024bv64) == 1bv8); + free requires (memory_load8_le(mem, 2025bv64) == 0bv8); + free requires (memory_load8_le(mem, 2026bv64) == 2bv8); + free requires (memory_load8_le(mem, 2027bv64) == 0bv8); + free requires (memory_load8_le(mem, 2028bv64) == 37bv8); + free requires (memory_load8_le(mem, 2029bv64) == 100bv8); + free requires (memory_load8_le(mem, 2030bv64) == 10bv8); + free requires (memory_load8_le(mem, 2031bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 132bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2024bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 132bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); diff --git a/src/test/correct/function1/clang_O2/function1.expected b/src/test/correct/function1/clang_O2/function1.expected index 784658e7d..1758c579e 100644 --- a/src/test/correct/function1/clang_O2/function1.expected +++ b/src/test/correct/function1/clang_O2/function1.expected @@ -62,9 +62,48 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1976bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1977bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1978bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1979bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1980bv64) == 37bv8); + free ensures (memory_load8_le(mem, 1981bv64) == 100bv8); + free ensures (memory_load8_le(mem, 1982bv64) == 10bv8); + free ensures (memory_load8_le(mem, 1983bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 96bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -82,6 +121,22 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R10, Gamma_R11, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R10, R11, R29, R30, R31, R8, R9, mem, stack; + free requires (memory_load8_le(mem, 69672bv64) == 0bv8); + free requires (memory_load8_le(mem, 69673bv64) == 0bv8); + free requires (memory_load8_le(mem, 69674bv64) == 0bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); free requires (memory_load8_le(mem, 1976bv64) == 1bv8); free requires (memory_load8_le(mem, 1977bv64) == 0bv8); free requires (memory_load8_le(mem, 1978bv64) == 2bv8); @@ -90,38 +145,22 @@ procedure main() free requires (memory_load8_le(mem, 1981bv64) == 100bv8); free requires (memory_load8_le(mem, 1982bv64) == 10bv8); free requires (memory_load8_le(mem, 1983bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 96bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -130,22 +169,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 0bv8); - free requires (memory_load8_le(mem, 69673bv64) == 0bv8); - free requires (memory_load8_le(mem, 69674bv64) == 0bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 69680bv64) == 48bv8); free requires (memory_load8_le(mem, 69681bv64) == 16bv8); free requires (memory_load8_le(mem, 69682bv64) == 1bv8); @@ -158,6 +181,46 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1976bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1977bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1978bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1979bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1980bv64) == 37bv8); + free ensures (memory_load8_le(mem, 1981bv64) == 100bv8); + free ensures (memory_load8_le(mem, 1982bv64) == 10bv8); + free ensures (memory_load8_le(mem, 1983bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 96bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -194,3 +257,83 @@ procedure main() } procedure printf(); + free requires (memory_load8_le(mem, 1976bv64) == 1bv8); + free requires (memory_load8_le(mem, 1977bv64) == 0bv8); + free requires (memory_load8_le(mem, 1978bv64) == 2bv8); + free requires (memory_load8_le(mem, 1979bv64) == 0bv8); + free requires (memory_load8_le(mem, 1980bv64) == 37bv8); + free requires (memory_load8_le(mem, 1981bv64) == 100bv8); + free requires (memory_load8_le(mem, 1982bv64) == 10bv8); + free requires (memory_load8_le(mem, 1983bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 96bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1976bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1977bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1978bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1979bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1980bv64) == 37bv8); + free ensures (memory_load8_le(mem, 1981bv64) == 100bv8); + free ensures (memory_load8_le(mem, 1982bv64) == 10bv8); + free ensures (memory_load8_le(mem, 1983bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 96bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); diff --git a/src/test/correct/function1/clang_no_plt_no_pic/function1.expected b/src/test/correct/function1/clang_no_plt_no_pic/function1.expected index 953527550..6ba62db81 100644 --- a/src/test/correct/function1/clang_no_plt_no_pic/function1.expected +++ b/src/test/correct/function1/clang_no_plt_no_pic/function1.expected @@ -83,9 +83,48 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2024bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 132bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -103,8 +142,88 @@ procedure guarantee_reflexive(); procedure get_two() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_stack, R0, R31, R8, R9, stack; + free requires (memory_load8_le(mem, 2024bv64) == 1bv8); + free requires (memory_load8_le(mem, 2025bv64) == 0bv8); + free requires (memory_load8_le(mem, 2026bv64) == 2bv8); + free requires (memory_load8_le(mem, 2027bv64) == 0bv8); + free requires (memory_load8_le(mem, 2028bv64) == 37bv8); + free requires (memory_load8_le(mem, 2029bv64) == 100bv8); + free requires (memory_load8_le(mem, 2030bv64) == 10bv8); + free requires (memory_load8_le(mem, 2031bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 132bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2024bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 132bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); { lget_two: R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; @@ -123,6 +242,22 @@ procedure get_two() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R2, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R2, R29, R30, R31, R8, R9, mem, stack; + free requires (memory_load8_le(mem, 69672bv64) == 0bv8); + free requires (memory_load8_le(mem, 69673bv64) == 0bv8); + free requires (memory_load8_le(mem, 69674bv64) == 0bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); free requires (memory_load8_le(mem, 2024bv64) == 1bv8); free requires (memory_load8_le(mem, 2025bv64) == 0bv8); free requires (memory_load8_le(mem, 2026bv64) == 2bv8); @@ -131,38 +266,22 @@ procedure main() free requires (memory_load8_le(mem, 2029bv64) == 100bv8); free requires (memory_load8_le(mem, 2030bv64) == 10bv8); free requires (memory_load8_le(mem, 2031bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 132bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -171,22 +290,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 0bv8); - free requires (memory_load8_le(mem, 69673bv64) == 0bv8); - free requires (memory_load8_le(mem, 69674bv64) == 0bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 69680bv64) == 48bv8); free requires (memory_load8_le(mem, 69681bv64) == 16bv8); free requires (memory_load8_le(mem, 69682bv64) == 1bv8); @@ -199,6 +302,46 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2024bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 132bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -241,3 +384,83 @@ procedure main() } procedure printf(); + free requires (memory_load8_le(mem, 2024bv64) == 1bv8); + free requires (memory_load8_le(mem, 2025bv64) == 0bv8); + free requires (memory_load8_le(mem, 2026bv64) == 2bv8); + free requires (memory_load8_le(mem, 2027bv64) == 0bv8); + free requires (memory_load8_le(mem, 2028bv64) == 37bv8); + free requires (memory_load8_le(mem, 2029bv64) == 100bv8); + free requires (memory_load8_le(mem, 2030bv64) == 10bv8); + free requires (memory_load8_le(mem, 2031bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 132bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2024bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 132bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); diff --git a/src/test/correct/function1/clang_pic/function1.expected b/src/test/correct/function1/clang_pic/function1.expected index 8946e8118..9ddd0c975 100644 --- a/src/test/correct/function1/clang_pic/function1.expected +++ b/src/test/correct/function1/clang_pic/function1.expected @@ -83,9 +83,64 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2096bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2097bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2098bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2099bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2100bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2101bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2102bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2103bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 144bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69568bv64) == 60bv8); + free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 196bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69584bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69585bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69586bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -103,8 +158,120 @@ procedure guarantee_reflexive(); procedure get_two() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_stack, R0, R31, R8, R9, stack; + free requires (memory_load8_le(mem, 2096bv64) == 1bv8); + free requires (memory_load8_le(mem, 2097bv64) == 0bv8); + free requires (memory_load8_le(mem, 2098bv64) == 2bv8); + free requires (memory_load8_le(mem, 2099bv64) == 0bv8); + free requires (memory_load8_le(mem, 2100bv64) == 37bv8); + free requires (memory_load8_le(mem, 2101bv64) == 100bv8); + free requires (memory_load8_le(mem, 2102bv64) == 10bv8); + free requires (memory_load8_le(mem, 2103bv64) == 0bv8); + free requires (memory_load8_le(mem, 69048bv64) == 144bv8); + free requires (memory_load8_le(mem, 69049bv64) == 7bv8); + free requires (memory_load8_le(mem, 69050bv64) == 0bv8); + free requires (memory_load8_le(mem, 69051bv64) == 0bv8); + free requires (memory_load8_le(mem, 69052bv64) == 0bv8); + free requires (memory_load8_le(mem, 69053bv64) == 0bv8); + free requires (memory_load8_le(mem, 69054bv64) == 0bv8); + free requires (memory_load8_le(mem, 69055bv64) == 0bv8); + free requires (memory_load8_le(mem, 69568bv64) == 60bv8); + free requires (memory_load8_le(mem, 69569bv64) == 16bv8); + free requires (memory_load8_le(mem, 69570bv64) == 1bv8); + free requires (memory_load8_le(mem, 69571bv64) == 0bv8); + free requires (memory_load8_le(mem, 69572bv64) == 0bv8); + free requires (memory_load8_le(mem, 69573bv64) == 0bv8); + free requires (memory_load8_le(mem, 69574bv64) == 0bv8); + free requires (memory_load8_le(mem, 69575bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 196bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69056bv64) == 64bv8); + free requires (memory_load8_le(mem, 69057bv64) == 7bv8); + free requires (memory_load8_le(mem, 69058bv64) == 0bv8); + free requires (memory_load8_le(mem, 69059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69060bv64) == 0bv8); + free requires (memory_load8_le(mem, 69061bv64) == 0bv8); + free requires (memory_load8_le(mem, 69062bv64) == 0bv8); + free requires (memory_load8_le(mem, 69063bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); + free requires (memory_load8_le(mem, 69584bv64) == 64bv8); + free requires (memory_load8_le(mem, 69585bv64) == 16bv8); + free requires (memory_load8_le(mem, 69586bv64) == 1bv8); + free requires (memory_load8_le(mem, 69587bv64) == 0bv8); + free requires (memory_load8_le(mem, 69588bv64) == 0bv8); + free requires (memory_load8_le(mem, 69589bv64) == 0bv8); + free requires (memory_load8_le(mem, 69590bv64) == 0bv8); + free requires (memory_load8_le(mem, 69591bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2096bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2097bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2098bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2099bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2100bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2101bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2102bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2103bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 144bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69568bv64) == 60bv8); + free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 196bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69584bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69585bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69586bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); { lget_two: R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; @@ -123,6 +290,22 @@ procedure get_two() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R2, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R2, R29, R30, R31, R8, R9, mem, stack; + free requires (memory_load8_le(mem, 69672bv64) == 0bv8); + free requires (memory_load8_le(mem, 69673bv64) == 0bv8); + free requires (memory_load8_le(mem, 69674bv64) == 0bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); free requires (memory_load8_le(mem, 2096bv64) == 1bv8); free requires (memory_load8_le(mem, 2097bv64) == 0bv8); free requires (memory_load8_le(mem, 2098bv64) == 2bv8); @@ -131,30 +314,14 @@ procedure main() free requires (memory_load8_le(mem, 2101bv64) == 100bv8); free requires (memory_load8_le(mem, 2102bv64) == 10bv8); free requires (memory_load8_le(mem, 2103bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 200bv8); - free requires (memory_load8_le(mem, 69545bv64) == 13bv8); - free requires (memory_load8_le(mem, 69546bv64) == 1bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 0bv8); - free requires (memory_load8_le(mem, 69553bv64) == 0bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 0bv8); - free requires (memory_load8_le(mem, 69561bv64) == 0bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); + free requires (memory_load8_le(mem, 69048bv64) == 144bv8); + free requires (memory_load8_le(mem, 69049bv64) == 7bv8); + free requires (memory_load8_le(mem, 69050bv64) == 0bv8); + free requires (memory_load8_le(mem, 69051bv64) == 0bv8); + free requires (memory_load8_le(mem, 69052bv64) == 0bv8); + free requires (memory_load8_le(mem, 69053bv64) == 0bv8); + free requires (memory_load8_le(mem, 69054bv64) == 0bv8); + free requires (memory_load8_le(mem, 69055bv64) == 0bv8); free requires (memory_load8_le(mem, 69568bv64) == 60bv8); free requires (memory_load8_le(mem, 69569bv64) == 16bv8); free requires (memory_load8_le(mem, 69570bv64) == 1bv8); @@ -163,22 +330,6 @@ procedure main() free requires (memory_load8_le(mem, 69573bv64) == 0bv8); free requires (memory_load8_le(mem, 69574bv64) == 0bv8); free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 64bv8); - free requires (memory_load8_le(mem, 69585bv64) == 16bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 196bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -187,22 +338,14 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 0bv8); - free requires (memory_load8_le(mem, 69673bv64) == 0bv8); - free requires (memory_load8_le(mem, 69674bv64) == 0bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69056bv64) == 64bv8); + free requires (memory_load8_le(mem, 69057bv64) == 7bv8); + free requires (memory_load8_le(mem, 69058bv64) == 0bv8); + free requires (memory_load8_le(mem, 69059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69060bv64) == 0bv8); + free requires (memory_load8_le(mem, 69061bv64) == 0bv8); + free requires (memory_load8_le(mem, 69062bv64) == 0bv8); + free requires (memory_load8_le(mem, 69063bv64) == 0bv8); free requires (memory_load8_le(mem, 69680bv64) == 48bv8); free requires (memory_load8_le(mem, 69681bv64) == 16bv8); free requires (memory_load8_le(mem, 69682bv64) == 1bv8); @@ -211,10 +354,74 @@ procedure main() free requires (memory_load8_le(mem, 69685bv64) == 0bv8); free requires (memory_load8_le(mem, 69686bv64) == 0bv8); free requires (memory_load8_le(mem, 69687bv64) == 0bv8); + free requires (memory_load8_le(mem, 69584bv64) == 64bv8); + free requires (memory_load8_le(mem, 69585bv64) == 16bv8); + free requires (memory_load8_le(mem, 69586bv64) == 1bv8); + free requires (memory_load8_le(mem, 69587bv64) == 0bv8); + free requires (memory_load8_le(mem, 69588bv64) == 0bv8); + free requires (memory_load8_le(mem, 69589bv64) == 0bv8); + free requires (memory_load8_le(mem, 69590bv64) == 0bv8); + free requires (memory_load8_le(mem, 69591bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2096bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2097bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2098bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2099bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2100bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2101bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2102bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2103bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 144bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69568bv64) == 60bv8); + free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 196bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69584bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69585bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69586bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -259,3 +466,115 @@ procedure main() } procedure printf(); + free requires (memory_load8_le(mem, 2096bv64) == 1bv8); + free requires (memory_load8_le(mem, 2097bv64) == 0bv8); + free requires (memory_load8_le(mem, 2098bv64) == 2bv8); + free requires (memory_load8_le(mem, 2099bv64) == 0bv8); + free requires (memory_load8_le(mem, 2100bv64) == 37bv8); + free requires (memory_load8_le(mem, 2101bv64) == 100bv8); + free requires (memory_load8_le(mem, 2102bv64) == 10bv8); + free requires (memory_load8_le(mem, 2103bv64) == 0bv8); + free requires (memory_load8_le(mem, 69048bv64) == 144bv8); + free requires (memory_load8_le(mem, 69049bv64) == 7bv8); + free requires (memory_load8_le(mem, 69050bv64) == 0bv8); + free requires (memory_load8_le(mem, 69051bv64) == 0bv8); + free requires (memory_load8_le(mem, 69052bv64) == 0bv8); + free requires (memory_load8_le(mem, 69053bv64) == 0bv8); + free requires (memory_load8_le(mem, 69054bv64) == 0bv8); + free requires (memory_load8_le(mem, 69055bv64) == 0bv8); + free requires (memory_load8_le(mem, 69568bv64) == 60bv8); + free requires (memory_load8_le(mem, 69569bv64) == 16bv8); + free requires (memory_load8_le(mem, 69570bv64) == 1bv8); + free requires (memory_load8_le(mem, 69571bv64) == 0bv8); + free requires (memory_load8_le(mem, 69572bv64) == 0bv8); + free requires (memory_load8_le(mem, 69573bv64) == 0bv8); + free requires (memory_load8_le(mem, 69574bv64) == 0bv8); + free requires (memory_load8_le(mem, 69575bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 196bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69056bv64) == 64bv8); + free requires (memory_load8_le(mem, 69057bv64) == 7bv8); + free requires (memory_load8_le(mem, 69058bv64) == 0bv8); + free requires (memory_load8_le(mem, 69059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69060bv64) == 0bv8); + free requires (memory_load8_le(mem, 69061bv64) == 0bv8); + free requires (memory_load8_le(mem, 69062bv64) == 0bv8); + free requires (memory_load8_le(mem, 69063bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); + free requires (memory_load8_le(mem, 69584bv64) == 64bv8); + free requires (memory_load8_le(mem, 69585bv64) == 16bv8); + free requires (memory_load8_le(mem, 69586bv64) == 1bv8); + free requires (memory_load8_le(mem, 69587bv64) == 0bv8); + free requires (memory_load8_le(mem, 69588bv64) == 0bv8); + free requires (memory_load8_le(mem, 69589bv64) == 0bv8); + free requires (memory_load8_le(mem, 69590bv64) == 0bv8); + free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2096bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2097bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2098bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2099bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2100bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2101bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2102bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2103bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 144bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69568bv64) == 60bv8); + free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 196bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69584bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69585bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69586bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); diff --git a/src/test/correct/function1/gcc/function1.expected b/src/test/correct/function1/gcc/function1.expected index 52d57baae..3e4fcd9ed 100644 --- a/src/test/correct/function1/gcc/function1.expected +++ b/src/test/correct/function1/gcc/function1.expected @@ -78,9 +78,52 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2048bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2049bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2050bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2056bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2057bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2058bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 132bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -98,8 +141,96 @@ procedure guarantee_reflexive(); procedure get_two() modifies Gamma_R0, Gamma_R1, Gamma_R31, Gamma_stack, R0, R1, R31, stack; + free requires (memory_load8_le(mem, 2048bv64) == 1bv8); + free requires (memory_load8_le(mem, 2049bv64) == 0bv8); + free requires (memory_load8_le(mem, 2050bv64) == 2bv8); + free requires (memory_load8_le(mem, 2051bv64) == 0bv8); + free requires (memory_load8_le(mem, 2052bv64) == 0bv8); + free requires (memory_load8_le(mem, 2053bv64) == 0bv8); + free requires (memory_load8_le(mem, 2054bv64) == 0bv8); + free requires (memory_load8_le(mem, 2055bv64) == 0bv8); + free requires (memory_load8_le(mem, 2056bv64) == 37bv8); + free requires (memory_load8_le(mem, 2057bv64) == 100bv8); + free requires (memory_load8_le(mem, 2058bv64) == 10bv8); + free requires (memory_load8_le(mem, 2059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 80bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 0bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 132bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2048bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2049bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2050bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2056bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2057bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2058bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 132bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lget_two: R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; @@ -118,6 +249,22 @@ procedure get_two() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R2, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R2, R29, R30, R31, mem, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 2048bv64) == 1bv8); free requires (memory_load8_le(mem, 2049bv64) == 0bv8); free requires (memory_load8_le(mem, 2050bv64) == 2bv8); @@ -130,102 +277,22 @@ procedure main() free requires (memory_load8_le(mem, 2057bv64) == 100bv8); free requires (memory_load8_le(mem, 2058bv64) == 10bv8); free requires (memory_load8_le(mem, 2059bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 208bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 208bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 208bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 208bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 160bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 80bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 0bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 132bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -234,22 +301,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -262,6 +313,50 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2048bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2049bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2050bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2056bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2057bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2058bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 132bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -310,3 +405,91 @@ procedure main() } procedure printf(); + free requires (memory_load8_le(mem, 2048bv64) == 1bv8); + free requires (memory_load8_le(mem, 2049bv64) == 0bv8); + free requires (memory_load8_le(mem, 2050bv64) == 2bv8); + free requires (memory_load8_le(mem, 2051bv64) == 0bv8); + free requires (memory_load8_le(mem, 2052bv64) == 0bv8); + free requires (memory_load8_le(mem, 2053bv64) == 0bv8); + free requires (memory_load8_le(mem, 2054bv64) == 0bv8); + free requires (memory_load8_le(mem, 2055bv64) == 0bv8); + free requires (memory_load8_le(mem, 2056bv64) == 37bv8); + free requires (memory_load8_le(mem, 2057bv64) == 100bv8); + free requires (memory_load8_le(mem, 2058bv64) == 10bv8); + free requires (memory_load8_le(mem, 2059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 80bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 0bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 132bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2048bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2049bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2050bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2056bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2057bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2058bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 132bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); diff --git a/src/test/correct/function1/gcc_O2/function1.expected b/src/test/correct/function1/gcc_O2/function1.expected index cdb8d31ce..c5d33cd94 100644 --- a/src/test/correct/function1/gcc_O2/function1.expected +++ b/src/test/correct/function1/gcc_O2/function1.expected @@ -58,9 +58,52 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2048bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2049bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2050bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2056bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2057bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2058bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -77,9 +120,6 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure __printf_chk(); - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R2, Gamma_R29, Gamma_R3, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R2, R29, R3, R30, R31, mem, stack; free requires (memory_load8_le(mem, 2048bv64) == 1bv8); free requires (memory_load8_le(mem, 2049bv64) == 0bv8); free requires (memory_load8_le(mem, 2050bv64) == 2bv8); @@ -92,102 +132,22 @@ procedure main() free requires (memory_load8_le(mem, 2057bv64) == 100bv8); free requires (memory_load8_le(mem, 2058bv64) == 10bv8); free requires (memory_load8_le(mem, 2059bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 224bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 224bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 224bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 224bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 224bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 160bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 208bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 128bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 128bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -196,14 +156,61 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2048bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2049bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2050bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2056bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2057bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2058bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R2, Gamma_R29, Gamma_R3, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R2, R29, R3, R30, R31, mem, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -220,10 +227,98 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 2048bv64) == 1bv8); + free requires (memory_load8_le(mem, 2049bv64) == 0bv8); + free requires (memory_load8_le(mem, 2050bv64) == 2bv8); + free requires (memory_load8_le(mem, 2051bv64) == 0bv8); + free requires (memory_load8_le(mem, 2052bv64) == 0bv8); + free requires (memory_load8_le(mem, 2053bv64) == 0bv8); + free requires (memory_load8_le(mem, 2054bv64) == 0bv8); + free requires (memory_load8_le(mem, 2055bv64) == 0bv8); + free requires (memory_load8_le(mem, 2056bv64) == 37bv8); + free requires (memory_load8_le(mem, 2057bv64) == 100bv8); + free requires (memory_load8_le(mem, 2058bv64) == 10bv8); + free requires (memory_load8_le(mem, 2059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 208bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 128bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 128bv8); + free requires (memory_load8_le(mem, 69617bv64) == 6bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2048bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2049bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2050bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2056bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2057bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2058bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #1: bv64; var Gamma_#1: bool; diff --git a/src/test/correct/function1/gcc_no_plt_no_pic/function1.expected b/src/test/correct/function1/gcc_no_plt_no_pic/function1.expected index 9eac1ce09..afb1aa475 100644 --- a/src/test/correct/function1/gcc_no_plt_no_pic/function1.expected +++ b/src/test/correct/function1/gcc_no_plt_no_pic/function1.expected @@ -78,9 +78,52 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2048bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2049bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2050bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2056bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2057bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2058bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 132bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -98,8 +141,96 @@ procedure guarantee_reflexive(); procedure get_two() modifies Gamma_R0, Gamma_R1, Gamma_R31, Gamma_stack, R0, R1, R31, stack; + free requires (memory_load8_le(mem, 2048bv64) == 1bv8); + free requires (memory_load8_le(mem, 2049bv64) == 0bv8); + free requires (memory_load8_le(mem, 2050bv64) == 2bv8); + free requires (memory_load8_le(mem, 2051bv64) == 0bv8); + free requires (memory_load8_le(mem, 2052bv64) == 0bv8); + free requires (memory_load8_le(mem, 2053bv64) == 0bv8); + free requires (memory_load8_le(mem, 2054bv64) == 0bv8); + free requires (memory_load8_le(mem, 2055bv64) == 0bv8); + free requires (memory_load8_le(mem, 2056bv64) == 37bv8); + free requires (memory_load8_le(mem, 2057bv64) == 100bv8); + free requires (memory_load8_le(mem, 2058bv64) == 10bv8); + free requires (memory_load8_le(mem, 2059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 80bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 0bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 132bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2048bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2049bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2050bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2056bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2057bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2058bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 132bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lget_two: R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; @@ -118,6 +249,22 @@ procedure get_two() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R2, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R2, R29, R30, R31, mem, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 2048bv64) == 1bv8); free requires (memory_load8_le(mem, 2049bv64) == 0bv8); free requires (memory_load8_le(mem, 2050bv64) == 2bv8); @@ -130,102 +277,22 @@ procedure main() free requires (memory_load8_le(mem, 2057bv64) == 100bv8); free requires (memory_load8_le(mem, 2058bv64) == 10bv8); free requires (memory_load8_le(mem, 2059bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 208bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 208bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 208bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 208bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 160bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 80bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 0bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 132bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -234,22 +301,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -262,6 +313,50 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2048bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2049bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2050bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2056bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2057bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2058bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 132bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -310,3 +405,91 @@ procedure main() } procedure printf(); + free requires (memory_load8_le(mem, 2048bv64) == 1bv8); + free requires (memory_load8_le(mem, 2049bv64) == 0bv8); + free requires (memory_load8_le(mem, 2050bv64) == 2bv8); + free requires (memory_load8_le(mem, 2051bv64) == 0bv8); + free requires (memory_load8_le(mem, 2052bv64) == 0bv8); + free requires (memory_load8_le(mem, 2053bv64) == 0bv8); + free requires (memory_load8_le(mem, 2054bv64) == 0bv8); + free requires (memory_load8_le(mem, 2055bv64) == 0bv8); + free requires (memory_load8_le(mem, 2056bv64) == 37bv8); + free requires (memory_load8_le(mem, 2057bv64) == 100bv8); + free requires (memory_load8_le(mem, 2058bv64) == 10bv8); + free requires (memory_load8_le(mem, 2059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 80bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 0bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 132bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2048bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2049bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2050bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2056bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2057bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2058bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 132bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); diff --git a/src/test/correct/function1/gcc_pic/function1.expected b/src/test/correct/function1/gcc_pic/function1.expected index 6408d3b93..27d48693e 100644 --- a/src/test/correct/function1/gcc_pic/function1.expected +++ b/src/test/correct/function1/gcc_pic/function1.expected @@ -78,9 +78,68 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2112bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2113bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2114bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2115bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2116bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2117bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2118bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2119bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2120bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2121bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2122bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2123bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69608bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69609bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69610bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69611bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69612bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69613bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69614bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69615bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 196bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 144bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 7bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -98,8 +157,128 @@ procedure guarantee_reflexive(); procedure get_two() modifies Gamma_R0, Gamma_R1, Gamma_R31, Gamma_stack, R0, R1, R31, stack; + free requires (memory_load8_le(mem, 2112bv64) == 1bv8); + free requires (memory_load8_le(mem, 2113bv64) == 0bv8); + free requires (memory_load8_le(mem, 2114bv64) == 2bv8); + free requires (memory_load8_le(mem, 2115bv64) == 0bv8); + free requires (memory_load8_le(mem, 2116bv64) == 0bv8); + free requires (memory_load8_le(mem, 2117bv64) == 0bv8); + free requires (memory_load8_le(mem, 2118bv64) == 0bv8); + free requires (memory_load8_le(mem, 2119bv64) == 0bv8); + free requires (memory_load8_le(mem, 2120bv64) == 37bv8); + free requires (memory_load8_le(mem, 2121bv64) == 100bv8); + free requires (memory_load8_le(mem, 2122bv64) == 10bv8); + free requires (memory_load8_le(mem, 2123bv64) == 0bv8); + free requires (memory_load8_le(mem, 69608bv64) == 24bv8); + free requires (memory_load8_le(mem, 69609bv64) == 16bv8); + free requires (memory_load8_le(mem, 69610bv64) == 1bv8); + free requires (memory_load8_le(mem, 69611bv64) == 0bv8); + free requires (memory_load8_le(mem, 69612bv64) == 0bv8); + free requires (memory_load8_le(mem, 69613bv64) == 0bv8); + free requires (memory_load8_le(mem, 69614bv64) == 0bv8); + free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 196bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 16bv8); + free requires (memory_load8_le(mem, 69594bv64) == 1bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 64bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 144bv8); + free requires (memory_load8_le(mem, 68993bv64) == 7bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2112bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2113bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2114bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2115bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2116bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2117bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2118bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2119bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2120bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2121bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2122bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2123bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69608bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69609bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69610bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69611bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69612bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69613bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69614bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69615bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 196bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 144bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 7bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); { lget_two: R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; @@ -118,6 +297,22 @@ procedure get_two() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R2, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R2, R29, R30, R31, mem, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 2112bv64) == 1bv8); free requires (memory_load8_le(mem, 2113bv64) == 0bv8); free requires (memory_load8_le(mem, 2114bv64) == 2bv8); @@ -130,110 +325,6 @@ procedure main() free requires (memory_load8_le(mem, 2121bv64) == 100bv8); free requires (memory_load8_le(mem, 2122bv64) == 10bv8); free requires (memory_load8_le(mem, 2123bv64) == 0bv8); - free requires (memory_load8_le(mem, 69504bv64) == 0bv8); - free requires (memory_load8_le(mem, 69505bv64) == 0bv8); - free requires (memory_load8_le(mem, 69506bv64) == 0bv8); - free requires (memory_load8_le(mem, 69507bv64) == 0bv8); - free requires (memory_load8_le(mem, 69508bv64) == 0bv8); - free requires (memory_load8_le(mem, 69509bv64) == 0bv8); - free requires (memory_load8_le(mem, 69510bv64) == 0bv8); - free requires (memory_load8_le(mem, 69511bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 6bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 6bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 6bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 0bv8); - free requires (memory_load8_le(mem, 69553bv64) == 6bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 0bv8); - free requires (memory_load8_le(mem, 69561bv64) == 6bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 144bv8); - free requires (memory_load8_le(mem, 69569bv64) == 13bv8); - free requires (memory_load8_le(mem, 69570bv64) == 1bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 20bv8); - free requires (memory_load8_le(mem, 69593bv64) == 16bv8); - free requires (memory_load8_le(mem, 69594bv64) == 1bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); free requires (memory_load8_le(mem, 69608bv64) == 24bv8); free requires (memory_load8_le(mem, 69609bv64) == 16bv8); free requires (memory_load8_le(mem, 69610bv64) == 1bv8); @@ -242,30 +333,6 @@ procedure main() free requires (memory_load8_le(mem, 69613bv64) == 0bv8); free requires (memory_load8_le(mem, 69614bv64) == 0bv8); free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 196bv8); - free requires (memory_load8_le(mem, 69617bv64) == 7bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -274,10 +341,102 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 196bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 16bv8); + free requires (memory_load8_le(mem, 69594bv64) == 1bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 64bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 144bv8); + free requires (memory_load8_le(mem, 68993bv64) == 7bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2112bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2113bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2114bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2115bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2116bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2117bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2118bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2119bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2120bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2121bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2122bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2123bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69608bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69609bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69610bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69611bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69612bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69613bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69614bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69615bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 196bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 144bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 7bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -326,3 +485,123 @@ procedure main() } procedure printf(); + free requires (memory_load8_le(mem, 2112bv64) == 1bv8); + free requires (memory_load8_le(mem, 2113bv64) == 0bv8); + free requires (memory_load8_le(mem, 2114bv64) == 2bv8); + free requires (memory_load8_le(mem, 2115bv64) == 0bv8); + free requires (memory_load8_le(mem, 2116bv64) == 0bv8); + free requires (memory_load8_le(mem, 2117bv64) == 0bv8); + free requires (memory_load8_le(mem, 2118bv64) == 0bv8); + free requires (memory_load8_le(mem, 2119bv64) == 0bv8); + free requires (memory_load8_le(mem, 2120bv64) == 37bv8); + free requires (memory_load8_le(mem, 2121bv64) == 100bv8); + free requires (memory_load8_le(mem, 2122bv64) == 10bv8); + free requires (memory_load8_le(mem, 2123bv64) == 0bv8); + free requires (memory_load8_le(mem, 69608bv64) == 24bv8); + free requires (memory_load8_le(mem, 69609bv64) == 16bv8); + free requires (memory_load8_le(mem, 69610bv64) == 1bv8); + free requires (memory_load8_le(mem, 69611bv64) == 0bv8); + free requires (memory_load8_le(mem, 69612bv64) == 0bv8); + free requires (memory_load8_le(mem, 69613bv64) == 0bv8); + free requires (memory_load8_le(mem, 69614bv64) == 0bv8); + free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 196bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 16bv8); + free requires (memory_load8_le(mem, 69594bv64) == 1bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 64bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 144bv8); + free requires (memory_load8_le(mem, 68993bv64) == 7bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2112bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2113bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2114bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2115bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2116bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2117bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2118bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2119bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2120bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2121bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2122bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2123bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69608bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69609bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69610bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69611bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69612bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69613bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69614bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69615bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 196bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 144bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 7bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); diff --git a/src/test/correct/functions_with_params/clang/functions_with_params.expected b/src/test/correct/functions_with_params/clang/functions_with_params.expected index a1989161c..24263a261 100644 --- a/src/test/correct/functions_with_params/clang/functions_with_params.expected +++ b/src/test/correct/functions_with_params/clang/functions_with_params.expected @@ -59,9 +59,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1912bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1913bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1914bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1915bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -79,42 +114,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_mem, Gamma_stack, R0, R29, R30, R31, R8, mem, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1912bv64) == 1bv8); free requires (memory_load8_le(mem, 1913bv64) == 0bv8); free requires (memory_load8_le(mem, 1914bv64) == 2bv8); free requires (memory_load8_le(mem, 1915bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -123,22 +158,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -151,6 +170,42 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1912bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1913bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1914bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1915bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv64; var #5: bv64; @@ -184,8 +239,80 @@ procedure main() procedure plus_one() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_stack, R0, R31, R8, stack; + free requires (memory_load8_le(mem, 1912bv64) == 1bv8); + free requires (memory_load8_le(mem, 1913bv64) == 0bv8); + free requires (memory_load8_le(mem, 1914bv64) == 2bv8); + free requires (memory_load8_le(mem, 1915bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1912bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1913bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1914bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1915bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { lplus_one: R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; diff --git a/src/test/correct/functions_with_params/clang_O2/functions_with_params.expected b/src/test/correct/functions_with_params/clang_O2/functions_with_params.expected index 7e7be3b71..3277fccb1 100644 --- a/src/test/correct/functions_with_params/clang_O2/functions_with_params.expected +++ b/src/test/correct/functions_with_params/clang_O2/functions_with_params.expected @@ -10,9 +10,44 @@ function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1848bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1849bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1850bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1851bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -30,42 +65,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, R0; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1848bv64) == 1bv8); free requires (memory_load8_le(mem, 1849bv64) == 0bv8); free requires (memory_load8_le(mem, 1850bv64) == 2bv8); free requires (memory_load8_le(mem, 1851bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -74,22 +109,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -98,6 +117,42 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1848bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1849bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1850bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1851bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { lmain: R0, Gamma_R0 := 0bv64, true; diff --git a/src/test/correct/functions_with_params/clang_no_plt_no_pic/functions_with_params.expected b/src/test/correct/functions_with_params/clang_no_plt_no_pic/functions_with_params.expected index 25c1fd29e..4e0834ecd 100644 --- a/src/test/correct/functions_with_params/clang_no_plt_no_pic/functions_with_params.expected +++ b/src/test/correct/functions_with_params/clang_no_plt_no_pic/functions_with_params.expected @@ -59,9 +59,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1912bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1913bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1914bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1915bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -79,42 +114,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_mem, Gamma_stack, R0, R29, R30, R31, R8, mem, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1912bv64) == 1bv8); free requires (memory_load8_le(mem, 1913bv64) == 0bv8); free requires (memory_load8_le(mem, 1914bv64) == 2bv8); free requires (memory_load8_le(mem, 1915bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -123,22 +158,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -151,6 +170,42 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1912bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1913bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1914bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1915bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv64; var #5: bv64; @@ -184,8 +239,80 @@ procedure main() procedure plus_one() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_stack, R0, R31, R8, stack; + free requires (memory_load8_le(mem, 1912bv64) == 1bv8); + free requires (memory_load8_le(mem, 1913bv64) == 0bv8); + free requires (memory_load8_le(mem, 1914bv64) == 2bv8); + free requires (memory_load8_le(mem, 1915bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1912bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1913bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1914bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1915bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { lplus_one: R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; diff --git a/src/test/correct/functions_with_params/clang_pic/functions_with_params.expected b/src/test/correct/functions_with_params/clang_pic/functions_with_params.expected index 25c1fd29e..4e0834ecd 100644 --- a/src/test/correct/functions_with_params/clang_pic/functions_with_params.expected +++ b/src/test/correct/functions_with_params/clang_pic/functions_with_params.expected @@ -59,9 +59,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1912bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1913bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1914bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1915bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -79,42 +114,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_mem, Gamma_stack, R0, R29, R30, R31, R8, mem, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1912bv64) == 1bv8); free requires (memory_load8_le(mem, 1913bv64) == 0bv8); free requires (memory_load8_le(mem, 1914bv64) == 2bv8); free requires (memory_load8_le(mem, 1915bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -123,22 +158,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -151,6 +170,42 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1912bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1913bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1914bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1915bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv64; var #5: bv64; @@ -184,8 +239,80 @@ procedure main() procedure plus_one() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_stack, R0, R31, R8, stack; + free requires (memory_load8_le(mem, 1912bv64) == 1bv8); + free requires (memory_load8_le(mem, 1913bv64) == 0bv8); + free requires (memory_load8_le(mem, 1914bv64) == 2bv8); + free requires (memory_load8_le(mem, 1915bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1912bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1913bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1914bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1915bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { lplus_one: R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; diff --git a/src/test/correct/functions_with_params/gcc/functions_with_params.expected b/src/test/correct/functions_with_params/gcc/functions_with_params.expected index 12c69cdab..25f67bc0a 100644 --- a/src/test/correct/functions_with_params/gcc/functions_with_params.expected +++ b/src/test/correct/functions_with_params/gcc/functions_with_params.expected @@ -57,9 +57,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1904bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1905bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1906bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1907bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -77,98 +112,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R29, R30, R31, mem, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1904bv64) == 1bv8); free requires (memory_load8_le(mem, 1905bv64) == 0bv8); free requires (memory_load8_le(mem, 1906bv64) == 2bv8); free requires (memory_load8_le(mem, 1907bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -177,22 +156,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -205,6 +168,42 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1904bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1905bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1906bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1907bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -235,8 +234,80 @@ procedure main() procedure plus_one() modifies Gamma_R0, Gamma_R31, Gamma_stack, R0, R31, stack; + free requires (memory_load8_le(mem, 1904bv64) == 1bv8); + free requires (memory_load8_le(mem, 1905bv64) == 0bv8); + free requires (memory_load8_le(mem, 1906bv64) == 2bv8); + free requires (memory_load8_le(mem, 1907bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1904bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1905bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1906bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1907bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lplus_one: R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; diff --git a/src/test/correct/functions_with_params/gcc_O2/functions_with_params.expected b/src/test/correct/functions_with_params/gcc_O2/functions_with_params.expected index 9496aeda5..adfca8cfb 100644 --- a/src/test/correct/functions_with_params/gcc_O2/functions_with_params.expected +++ b/src/test/correct/functions_with_params/gcc_O2/functions_with_params.expected @@ -10,9 +10,44 @@ function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1916bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1917bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1918bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1919bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -30,98 +65,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, R0; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1916bv64) == 1bv8); free requires (memory_load8_le(mem, 1917bv64) == 0bv8); free requires (memory_load8_le(mem, 1918bv64) == 2bv8); free requires (memory_load8_le(mem, 1919bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 80bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 0bv8); + free requires (memory_load8_le(mem, 69025bv64) == 7bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 0bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -130,22 +109,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -154,6 +117,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1916bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1917bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1918bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1919bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lmain: R0, Gamma_R0 := 0bv64, true; diff --git a/src/test/correct/functions_with_params/gcc_no_plt_no_pic/functions_with_params.expected b/src/test/correct/functions_with_params/gcc_no_plt_no_pic/functions_with_params.expected index 38d9b5774..ff993cf1d 100644 --- a/src/test/correct/functions_with_params/gcc_no_plt_no_pic/functions_with_params.expected +++ b/src/test/correct/functions_with_params/gcc_no_plt_no_pic/functions_with_params.expected @@ -57,9 +57,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1904bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1905bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1906bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1907bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -77,98 +112,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R29, R30, R31, mem, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1904bv64) == 1bv8); free requires (memory_load8_le(mem, 1905bv64) == 0bv8); free requires (memory_load8_le(mem, 1906bv64) == 2bv8); free requires (memory_load8_le(mem, 1907bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -177,22 +156,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -205,6 +168,42 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1904bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1905bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1906bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1907bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -235,8 +234,80 @@ procedure main() procedure plus_one() modifies Gamma_R0, Gamma_R31, Gamma_stack, R0, R31, stack; + free requires (memory_load8_le(mem, 1904bv64) == 1bv8); + free requires (memory_load8_le(mem, 1905bv64) == 0bv8); + free requires (memory_load8_le(mem, 1906bv64) == 2bv8); + free requires (memory_load8_le(mem, 1907bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1904bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1905bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1906bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1907bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lplus_one: R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; diff --git a/src/test/correct/functions_with_params/gcc_pic/functions_with_params.expected b/src/test/correct/functions_with_params/gcc_pic/functions_with_params.expected index 38d9b5774..ff993cf1d 100644 --- a/src/test/correct/functions_with_params/gcc_pic/functions_with_params.expected +++ b/src/test/correct/functions_with_params/gcc_pic/functions_with_params.expected @@ -57,9 +57,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1904bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1905bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1906bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1907bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -77,98 +112,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R29, R30, R31, mem, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1904bv64) == 1bv8); free requires (memory_load8_le(mem, 1905bv64) == 0bv8); free requires (memory_load8_le(mem, 1906bv64) == 2bv8); free requires (memory_load8_le(mem, 1907bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -177,22 +156,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -205,6 +168,42 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1904bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1905bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1906bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1907bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -235,8 +234,80 @@ procedure main() procedure plus_one() modifies Gamma_R0, Gamma_R31, Gamma_stack, R0, R31, stack; + free requires (memory_load8_le(mem, 1904bv64) == 1bv8); + free requires (memory_load8_le(mem, 1905bv64) == 0bv8); + free requires (memory_load8_le(mem, 1906bv64) == 2bv8); + free requires (memory_load8_le(mem, 1907bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1904bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1905bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1906bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1907bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lplus_one: R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; diff --git a/src/test/correct/ifbranches/clang/ifbranches.expected b/src/test/correct/ifbranches/clang/ifbranches.expected index aea480805..fefc51de6 100644 --- a/src/test/correct/ifbranches/clang/ifbranches.expected +++ b/src/test/correct/ifbranches/clang/ifbranches.expected @@ -50,9 +50,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1920bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1921bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1922bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1923bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -71,42 +106,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_stack, R0, R31, R8, stack; requires (Gamma_R0 == true); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1920bv64) == 1bv8); free requires (memory_load8_le(mem, 1921bv64) == 0bv8); free requires (memory_load8_le(mem, 1922bv64) == 2bv8); free requires (memory_load8_le(mem, 1923bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -115,22 +150,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -141,6 +160,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1920bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1921bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1922bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1923bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/ifbranches/clang_O2/ifbranches.expected b/src/test/correct/ifbranches/clang_O2/ifbranches.expected index 98dbf5562..b084355d9 100644 --- a/src/test/correct/ifbranches/clang_O2/ifbranches.expected +++ b/src/test/correct/ifbranches/clang_O2/ifbranches.expected @@ -19,9 +19,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1848bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1849bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1850bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1851bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -40,42 +75,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R8, R0, R8; requires (Gamma_R0 == true); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1848bv64) == 1bv8); free requires (memory_load8_le(mem, 1849bv64) == 0bv8); free requires (memory_load8_le(mem, 1850bv64) == 2bv8); free requires (memory_load8_le(mem, 1851bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -84,22 +119,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -108,6 +127,42 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1848bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1849bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1850bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1851bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/ifbranches/clang_no_plt_no_pic/ifbranches.expected b/src/test/correct/ifbranches/clang_no_plt_no_pic/ifbranches.expected index 91e50fc9b..a673a1ad6 100644 --- a/src/test/correct/ifbranches/clang_no_plt_no_pic/ifbranches.expected +++ b/src/test/correct/ifbranches/clang_no_plt_no_pic/ifbranches.expected @@ -50,9 +50,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1920bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1921bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1922bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1923bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -71,42 +106,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_stack, R0, R31, R8, stack; requires (Gamma_R0 == true); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1920bv64) == 1bv8); free requires (memory_load8_le(mem, 1921bv64) == 0bv8); free requires (memory_load8_le(mem, 1922bv64) == 2bv8); free requires (memory_load8_le(mem, 1923bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -115,22 +150,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -141,6 +160,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1920bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1921bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1922bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1923bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/ifbranches/clang_pic/ifbranches.expected b/src/test/correct/ifbranches/clang_pic/ifbranches.expected index 91e50fc9b..a673a1ad6 100644 --- a/src/test/correct/ifbranches/clang_pic/ifbranches.expected +++ b/src/test/correct/ifbranches/clang_pic/ifbranches.expected @@ -50,9 +50,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1920bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1921bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1922bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1923bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -71,42 +106,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_stack, R0, R31, R8, stack; requires (Gamma_R0 == true); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1920bv64) == 1bv8); free requires (memory_load8_le(mem, 1921bv64) == 0bv8); free requires (memory_load8_le(mem, 1922bv64) == 2bv8); free requires (memory_load8_le(mem, 1923bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -115,22 +150,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -141,6 +160,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1920bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1921bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1922bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1923bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/ifbranches/gcc/ifbranches.expected b/src/test/correct/ifbranches/gcc/ifbranches.expected index 7d911d826..dba862a53 100644 --- a/src/test/correct/ifbranches/gcc/ifbranches.expected +++ b/src/test/correct/ifbranches/gcc/ifbranches.expected @@ -48,9 +48,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1904bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1905bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1906bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1907bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -69,98 +104,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R31, Gamma_stack, R0, R31, stack; requires (Gamma_R0 == true); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1904bv64) == 1bv8); free requires (memory_load8_le(mem, 1905bv64) == 0bv8); free requires (memory_load8_le(mem, 1906bv64) == 2bv8); free requires (memory_load8_le(mem, 1907bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -169,22 +148,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -195,6 +158,42 @@ procedure main() free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1904bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1905bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1906bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1907bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/ifbranches/gcc_O2/ifbranches.expected b/src/test/correct/ifbranches/gcc_O2/ifbranches.expected index 7fd6fc3b8..c3253504b 100644 --- a/src/test/correct/ifbranches/gcc_O2/ifbranches.expected +++ b/src/test/correct/ifbranches/gcc_O2/ifbranches.expected @@ -17,9 +17,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -38,98 +73,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, R0; requires (Gamma_R0 == true); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1896bv64) == 1bv8); free requires (memory_load8_le(mem, 1897bv64) == 0bv8); free requires (memory_load8_le(mem, 1898bv64) == 2bv8); free requires (memory_load8_le(mem, 1899bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 80bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 0bv8); + free requires (memory_load8_le(mem, 69025bv64) == 7bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 0bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -138,22 +117,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -162,6 +125,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #1: bv32; var CF: bv1; diff --git a/src/test/correct/ifbranches/gcc_no_plt_no_pic/ifbranches.expected b/src/test/correct/ifbranches/gcc_no_plt_no_pic/ifbranches.expected index 406ff146f..fce58209a 100644 --- a/src/test/correct/ifbranches/gcc_no_plt_no_pic/ifbranches.expected +++ b/src/test/correct/ifbranches/gcc_no_plt_no_pic/ifbranches.expected @@ -48,9 +48,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1904bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1905bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1906bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1907bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -69,98 +104,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R31, Gamma_stack, R0, R31, stack; requires (Gamma_R0 == true); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1904bv64) == 1bv8); free requires (memory_load8_le(mem, 1905bv64) == 0bv8); free requires (memory_load8_le(mem, 1906bv64) == 2bv8); free requires (memory_load8_le(mem, 1907bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -169,22 +148,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -195,6 +158,42 @@ procedure main() free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1904bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1905bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1906bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1907bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/ifbranches/gcc_pic/ifbranches.expected b/src/test/correct/ifbranches/gcc_pic/ifbranches.expected index 406ff146f..fce58209a 100644 --- a/src/test/correct/ifbranches/gcc_pic/ifbranches.expected +++ b/src/test/correct/ifbranches/gcc_pic/ifbranches.expected @@ -48,9 +48,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1904bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1905bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1906bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1907bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -69,98 +104,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R31, Gamma_stack, R0, R31, stack; requires (Gamma_R0 == true); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1904bv64) == 1bv8); free requires (memory_load8_le(mem, 1905bv64) == 0bv8); free requires (memory_load8_le(mem, 1906bv64) == 2bv8); free requires (memory_load8_le(mem, 1907bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -169,22 +148,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -195,6 +158,42 @@ procedure main() free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1904bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1905bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1906bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1907bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/ifglobal/clang/ifglobal.expected b/src/test/correct/ifglobal/clang/ifglobal.expected index d36984962..00aa8817c 100644 --- a/src/test/correct/ifglobal/clang/ifglobal.expected +++ b/src/test/correct/ifglobal/clang/ifglobal.expected @@ -48,9 +48,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1892bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1893bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1894bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1895bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -68,42 +103,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R31, R8, R9, mem, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1892bv64) == 1bv8); free requires (memory_load8_le(mem, 1893bv64) == 0bv8); free requires (memory_load8_le(mem, 1894bv64) == 2bv8); free requires (memory_load8_le(mem, 1895bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -112,22 +147,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -138,6 +157,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1892bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1893bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1894bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1895bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/ifglobal/clang_O2/ifglobal.expected b/src/test/correct/ifglobal/clang_O2/ifglobal.expected index e2b34f6e5..0918a0286 100644 --- a/src/test/correct/ifglobal/clang_O2/ifglobal.expected +++ b/src/test/correct/ifglobal/clang_O2/ifglobal.expected @@ -37,9 +37,44 @@ function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1868bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1869bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1870bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1871bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -57,42 +92,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R8, Gamma_R9, Gamma_mem, R0, R8, R9, mem; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1868bv64) == 1bv8); free requires (memory_load8_le(mem, 1869bv64) == 0bv8); free requires (memory_load8_le(mem, 1870bv64) == 2bv8); free requires (memory_load8_le(mem, 1871bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -101,22 +136,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -125,6 +144,42 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1868bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1869bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1870bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1871bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { lmain: R8, Gamma_R8 := 69632bv64, true; diff --git a/src/test/correct/ifglobal/clang_no_plt_no_pic/ifglobal.expected b/src/test/correct/ifglobal/clang_no_plt_no_pic/ifglobal.expected index 221ae93a0..135ff12de 100644 --- a/src/test/correct/ifglobal/clang_no_plt_no_pic/ifglobal.expected +++ b/src/test/correct/ifglobal/clang_no_plt_no_pic/ifglobal.expected @@ -48,9 +48,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1892bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1893bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1894bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1895bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -68,42 +103,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R31, R8, R9, mem, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1892bv64) == 1bv8); free requires (memory_load8_le(mem, 1893bv64) == 0bv8); free requires (memory_load8_le(mem, 1894bv64) == 2bv8); free requires (memory_load8_le(mem, 1895bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -112,22 +147,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -138,6 +157,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1892bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1893bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1894bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1895bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/ifglobal/clang_pic/ifglobal.expected b/src/test/correct/ifglobal/clang_pic/ifglobal.expected index adcf729ee..f83af04e9 100644 --- a/src/test/correct/ifglobal/clang_pic/ifglobal.expected +++ b/src/test/correct/ifglobal/clang_pic/ifglobal.expected @@ -56,9 +56,52 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1964bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1965bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1966bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1967bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69576bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69577bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69578bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69579bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69580bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69581bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69582bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69583bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -76,34 +119,26 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R31, R8, R9, mem, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1964bv64) == 1bv8); free requires (memory_load8_le(mem, 1965bv64) == 0bv8); free requires (memory_load8_le(mem, 1966bv64) == 2bv8); free requires (memory_load8_le(mem, 1967bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 13bv8); - free requires (memory_load8_le(mem, 69554bv64) == 1bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 0bv8); - free requires (memory_load8_le(mem, 69561bv64) == 0bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); free requires (memory_load8_le(mem, 69576bv64) == 52bv8); free requires (memory_load8_le(mem, 69577bv64) == 16bv8); free requires (memory_load8_le(mem, 69578bv64) == 1bv8); @@ -112,38 +147,6 @@ procedure main() free requires (memory_load8_le(mem, 69581bv64) == 0bv8); free requires (memory_load8_le(mem, 69582bv64) == 0bv8); free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 84bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -152,8 +155,76 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69056bv64) == 80bv8); + free requires (memory_load8_le(mem, 69057bv64) == 7bv8); + free requires (memory_load8_le(mem, 69058bv64) == 0bv8); + free requires (memory_load8_le(mem, 69059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69060bv64) == 0bv8); + free requires (memory_load8_le(mem, 69061bv64) == 0bv8); + free requires (memory_load8_le(mem, 69062bv64) == 0bv8); + free requires (memory_load8_le(mem, 69063bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 0bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 84bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1964bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1965bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1966bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1967bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69576bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69577bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69578bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69579bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69580bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69581bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69582bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69583bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/ifglobal/gcc/ifglobal.expected b/src/test/correct/ifglobal/gcc/ifglobal.expected index f7c308528..5c4081dd0 100644 --- a/src/test/correct/ifglobal/gcc/ifglobal.expected +++ b/src/test/correct/ifglobal/gcc/ifglobal.expected @@ -42,9 +42,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1876bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1877bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1878bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1879bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -62,98 +97,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1876bv64) == 1bv8); free requires (memory_load8_le(mem, 1877bv64) == 0bv8); free requires (memory_load8_le(mem, 1878bv64) == 2bv8); free requires (memory_load8_le(mem, 1879bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -162,22 +141,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -186,6 +149,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1876bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1877bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1878bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1879bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/ifglobal/gcc_O2/ifglobal.expected b/src/test/correct/ifglobal/gcc_O2/ifglobal.expected index e9719ae18..84fb761d8 100644 --- a/src/test/correct/ifglobal/gcc_O2/ifglobal.expected +++ b/src/test/correct/ifglobal/gcc_O2/ifglobal.expected @@ -36,9 +36,44 @@ function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -56,98 +91,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1896bv64) == 1bv8); free requires (memory_load8_le(mem, 1897bv64) == 0bv8); free requires (memory_load8_le(mem, 1898bv64) == 2bv8); free requires (memory_load8_le(mem, 1899bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 80bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 0bv8); + free requires (memory_load8_le(mem, 69025bv64) == 7bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 0bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -156,22 +135,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -180,6 +143,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lmain: R0, Gamma_R0 := 69632bv64, true; diff --git a/src/test/correct/ifglobal/gcc_no_plt_no_pic/ifglobal.expected b/src/test/correct/ifglobal/gcc_no_plt_no_pic/ifglobal.expected index ab502d457..cd7797ae9 100644 --- a/src/test/correct/ifglobal/gcc_no_plt_no_pic/ifglobal.expected +++ b/src/test/correct/ifglobal/gcc_no_plt_no_pic/ifglobal.expected @@ -42,9 +42,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1876bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1877bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1878bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1879bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -62,98 +97,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1876bv64) == 1bv8); free requires (memory_load8_le(mem, 1877bv64) == 0bv8); free requires (memory_load8_le(mem, 1878bv64) == 2bv8); free requires (memory_load8_le(mem, 1879bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -162,22 +141,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -186,6 +149,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1876bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1877bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1878bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1879bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/ifglobal/gcc_pic/ifglobal.expected b/src/test/correct/ifglobal/gcc_pic/ifglobal.expected index daf72bfac..f6d526f22 100644 --- a/src/test/correct/ifglobal/gcc_pic/ifglobal.expected +++ b/src/test/correct/ifglobal/gcc_pic/ifglobal.expected @@ -50,9 +50,52 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1940bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1941bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1942bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1943bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69600bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69601bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69602bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69603bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69604bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69605bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69606bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69607bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -70,122 +113,6 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; - free requires (memory_load8_le(mem, 1940bv64) == 1bv8); - free requires (memory_load8_le(mem, 1941bv64) == 0bv8); - free requires (memory_load8_le(mem, 1942bv64) == 2bv8); - free requires (memory_load8_le(mem, 1943bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 176bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 176bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 176bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 176bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 13bv8); - free requires (memory_load8_le(mem, 69578bv64) == 1bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 20bv8); - free requires (memory_load8_le(mem, 69601bv64) == 16bv8); - free requires (memory_load8_le(mem, 69602bv64) == 1bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 84bv8); - free requires (memory_load8_le(mem, 69617bv64) == 7bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -202,6 +129,94 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 1940bv64) == 1bv8); + free requires (memory_load8_le(mem, 1941bv64) == 0bv8); + free requires (memory_load8_le(mem, 1942bv64) == 2bv8); + free requires (memory_load8_le(mem, 1943bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 84bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 0bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69600bv64) == 20bv8); + free requires (memory_load8_le(mem, 69601bv64) == 16bv8); + free requires (memory_load8_le(mem, 69602bv64) == 1bv8); + free requires (memory_load8_le(mem, 69603bv64) == 0bv8); + free requires (memory_load8_le(mem, 69604bv64) == 0bv8); + free requires (memory_load8_le(mem, 69605bv64) == 0bv8); + free requires (memory_load8_le(mem, 69606bv64) == 0bv8); + free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 80bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1940bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1941bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1942bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1943bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69600bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69601bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69602bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69603bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69604bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69605bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69606bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69607bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/indirect_call/clang/indirect_call.expected b/src/test/correct/indirect_call/clang/indirect_call.expected index 95a3882c7..061bec741 100644 --- a/src/test/correct/indirect_call/clang/indirect_call.expected +++ b/src/test/correct/indirect_call/clang/indirect_call.expected @@ -58,9 +58,88 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1996bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1998bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2000bv64) == 72bv8); + free ensures (memory_load8_le(mem, 2001bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2002bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2003bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2004bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2005bv64) == 44bv8); + free ensures (memory_load8_le(mem, 2006bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2007bv64) == 119bv8); + free ensures (memory_load8_le(mem, 2008bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2009bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2010bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2011bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2012bv64) == 33bv8); + free ensures (memory_load8_le(mem, 2013bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2015bv64) == 67bv8); + free ensures (memory_load8_le(mem, 2016bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2017bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2018bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2019bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2020bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2021bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2022bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2023bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2024bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 40bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 41bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2032bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2033bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2034bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2035bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2036bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2037bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2038bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2039bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2040bv64) == 121bv8); + free ensures (memory_load8_le(mem, 2041bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2042bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2043bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 112bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -78,6 +157,22 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_stack, R0, R29, R30, R31, R8, stack; + free requires (memory_load8_le(mem, 69672bv64) == 0bv8); + free requires (memory_load8_le(mem, 69673bv64) == 0bv8); + free requires (memory_load8_le(mem, 69674bv64) == 0bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); free requires (memory_load8_le(mem, 1996bv64) == 1bv8); free requires (memory_load8_le(mem, 1997bv64) == 0bv8); free requires (memory_load8_le(mem, 1998bv64) == 2bv8); @@ -126,38 +221,22 @@ procedure main() free requires (memory_load8_le(mem, 2041bv64) == 58bv8); free requires (memory_load8_le(mem, 2042bv64) == 10bv8); free requires (memory_load8_le(mem, 2043bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 112bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -166,22 +245,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 0bv8); - free requires (memory_load8_le(mem, 69673bv64) == 0bv8); - free requires (memory_load8_le(mem, 69674bv64) == 0bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 69680bv64) == 48bv8); free requires (memory_load8_le(mem, 69681bv64) == 16bv8); free requires (memory_load8_le(mem, 69682bv64) == 1bv8); @@ -194,6 +257,86 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1996bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1998bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2000bv64) == 72bv8); + free ensures (memory_load8_le(mem, 2001bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2002bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2003bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2004bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2005bv64) == 44bv8); + free ensures (memory_load8_le(mem, 2006bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2007bv64) == 119bv8); + free ensures (memory_load8_le(mem, 2008bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2009bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2010bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2011bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2012bv64) == 33bv8); + free ensures (memory_load8_le(mem, 2013bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2015bv64) == 67bv8); + free ensures (memory_load8_le(mem, 2016bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2017bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2018bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2019bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2020bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2021bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2022bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2023bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2024bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 40bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 41bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2032bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2033bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2034bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2035bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2036bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2037bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2038bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2039bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2040bv64) == 121bv8); + free ensures (memory_load8_le(mem, 2041bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2042bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2043bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 112bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); { var #5: bv64; var #6: bv64; @@ -232,3 +375,163 @@ procedure main() } procedure printf(); + free requires (memory_load8_le(mem, 1996bv64) == 1bv8); + free requires (memory_load8_le(mem, 1997bv64) == 0bv8); + free requires (memory_load8_le(mem, 1998bv64) == 2bv8); + free requires (memory_load8_le(mem, 1999bv64) == 0bv8); + free requires (memory_load8_le(mem, 2000bv64) == 72bv8); + free requires (memory_load8_le(mem, 2001bv64) == 101bv8); + free requires (memory_load8_le(mem, 2002bv64) == 108bv8); + free requires (memory_load8_le(mem, 2003bv64) == 108bv8); + free requires (memory_load8_le(mem, 2004bv64) == 111bv8); + free requires (memory_load8_le(mem, 2005bv64) == 44bv8); + free requires (memory_load8_le(mem, 2006bv64) == 32bv8); + free requires (memory_load8_le(mem, 2007bv64) == 119bv8); + free requires (memory_load8_le(mem, 2008bv64) == 111bv8); + free requires (memory_load8_le(mem, 2009bv64) == 114bv8); + free requires (memory_load8_le(mem, 2010bv64) == 108bv8); + free requires (memory_load8_le(mem, 2011bv64) == 100bv8); + free requires (memory_load8_le(mem, 2012bv64) == 33bv8); + free requires (memory_load8_le(mem, 2013bv64) == 10bv8); + free requires (memory_load8_le(mem, 2014bv64) == 0bv8); + free requires (memory_load8_le(mem, 2015bv64) == 67bv8); + free requires (memory_load8_le(mem, 2016bv64) == 97bv8); + free requires (memory_load8_le(mem, 2017bv64) == 108bv8); + free requires (memory_load8_le(mem, 2018bv64) == 108bv8); + free requires (memory_load8_le(mem, 2019bv64) == 105bv8); + free requires (memory_load8_le(mem, 2020bv64) == 110bv8); + free requires (memory_load8_le(mem, 2021bv64) == 103bv8); + free requires (memory_load8_le(mem, 2022bv64) == 32bv8); + free requires (memory_load8_le(mem, 2023bv64) == 103bv8); + free requires (memory_load8_le(mem, 2024bv64) == 114bv8); + free requires (memory_load8_le(mem, 2025bv64) == 101bv8); + free requires (memory_load8_le(mem, 2026bv64) == 101bv8); + free requires (memory_load8_le(mem, 2027bv64) == 116bv8); + free requires (memory_load8_le(mem, 2028bv64) == 40bv8); + free requires (memory_load8_le(mem, 2029bv64) == 41bv8); + free requires (memory_load8_le(mem, 2030bv64) == 32bv8); + free requires (memory_load8_le(mem, 2031bv64) == 105bv8); + free requires (memory_load8_le(mem, 2032bv64) == 110bv8); + free requires (memory_load8_le(mem, 2033bv64) == 100bv8); + free requires (memory_load8_le(mem, 2034bv64) == 105bv8); + free requires (memory_load8_le(mem, 2035bv64) == 114bv8); + free requires (memory_load8_le(mem, 2036bv64) == 101bv8); + free requires (memory_load8_le(mem, 2037bv64) == 99bv8); + free requires (memory_load8_le(mem, 2038bv64) == 116bv8); + free requires (memory_load8_le(mem, 2039bv64) == 108bv8); + free requires (memory_load8_le(mem, 2040bv64) == 121bv8); + free requires (memory_load8_le(mem, 2041bv64) == 58bv8); + free requires (memory_load8_le(mem, 2042bv64) == 10bv8); + free requires (memory_load8_le(mem, 2043bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 112bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1996bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1998bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2000bv64) == 72bv8); + free ensures (memory_load8_le(mem, 2001bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2002bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2003bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2004bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2005bv64) == 44bv8); + free ensures (memory_load8_le(mem, 2006bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2007bv64) == 119bv8); + free ensures (memory_load8_le(mem, 2008bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2009bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2010bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2011bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2012bv64) == 33bv8); + free ensures (memory_load8_le(mem, 2013bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2015bv64) == 67bv8); + free ensures (memory_load8_le(mem, 2016bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2017bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2018bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2019bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2020bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2021bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2022bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2023bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2024bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 40bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 41bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2032bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2033bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2034bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2035bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2036bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2037bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2038bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2039bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2040bv64) == 121bv8); + free ensures (memory_load8_le(mem, 2041bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2042bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2043bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 112bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); diff --git a/src/test/correct/indirect_call/clang_O2/indirect_call.expected b/src/test/correct/indirect_call/clang_O2/indirect_call.expected index 4c4cac66f..4afe0c36b 100644 --- a/src/test/correct/indirect_call/clang_O2/indirect_call.expected +++ b/src/test/correct/indirect_call/clang_O2/indirect_call.expected @@ -39,9 +39,86 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1952bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1953bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1954bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1955bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1956bv64) == 72bv8); + free ensures (memory_load8_le(mem, 1957bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1958bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1959bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1960bv64) == 111bv8); + free ensures (memory_load8_le(mem, 1961bv64) == 44bv8); + free ensures (memory_load8_le(mem, 1962bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1963bv64) == 119bv8); + free ensures (memory_load8_le(mem, 1964bv64) == 111bv8); + free ensures (memory_load8_le(mem, 1965bv64) == 114bv8); + free ensures (memory_load8_le(mem, 1966bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1967bv64) == 100bv8); + free ensures (memory_load8_le(mem, 1968bv64) == 33bv8); + free ensures (memory_load8_le(mem, 1969bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1970bv64) == 67bv8); + free ensures (memory_load8_le(mem, 1971bv64) == 97bv8); + free ensures (memory_load8_le(mem, 1972bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1973bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1974bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1975bv64) == 110bv8); + free ensures (memory_load8_le(mem, 1976bv64) == 103bv8); + free ensures (memory_load8_le(mem, 1977bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1978bv64) == 103bv8); + free ensures (memory_load8_le(mem, 1979bv64) == 114bv8); + free ensures (memory_load8_le(mem, 1980bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1981bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1982bv64) == 116bv8); + free ensures (memory_load8_le(mem, 1983bv64) == 40bv8); + free ensures (memory_load8_le(mem, 1984bv64) == 41bv8); + free ensures (memory_load8_le(mem, 1985bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1986bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1987bv64) == 110bv8); + free ensures (memory_load8_le(mem, 1988bv64) == 100bv8); + free ensures (memory_load8_le(mem, 1989bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1990bv64) == 114bv8); + free ensures (memory_load8_le(mem, 1991bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1992bv64) == 99bv8); + free ensures (memory_load8_le(mem, 1993bv64) == 116bv8); + free ensures (memory_load8_le(mem, 1994bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1995bv64) == 121bv8); + free ensures (memory_load8_le(mem, 1996bv64) == 58bv8); + free ensures (memory_load8_le(mem, 1997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 96bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -59,6 +136,22 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R29, R30, R31, stack; + free requires (memory_load8_le(mem, 69672bv64) == 0bv8); + free requires (memory_load8_le(mem, 69673bv64) == 0bv8); + free requires (memory_load8_le(mem, 69674bv64) == 0bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); free requires (memory_load8_le(mem, 1952bv64) == 1bv8); free requires (memory_load8_le(mem, 1953bv64) == 0bv8); free requires (memory_load8_le(mem, 1954bv64) == 2bv8); @@ -105,38 +198,22 @@ procedure main() free requires (memory_load8_le(mem, 1995bv64) == 121bv8); free requires (memory_load8_le(mem, 1996bv64) == 58bv8); free requires (memory_load8_le(mem, 1997bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 96bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -145,22 +222,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 0bv8); - free requires (memory_load8_le(mem, 69673bv64) == 0bv8); - free requires (memory_load8_le(mem, 69674bv64) == 0bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 69680bv64) == 48bv8); free requires (memory_load8_le(mem, 69681bv64) == 16bv8); free requires (memory_load8_le(mem, 69682bv64) == 1bv8); @@ -173,6 +234,84 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1952bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1953bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1954bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1955bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1956bv64) == 72bv8); + free ensures (memory_load8_le(mem, 1957bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1958bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1959bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1960bv64) == 111bv8); + free ensures (memory_load8_le(mem, 1961bv64) == 44bv8); + free ensures (memory_load8_le(mem, 1962bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1963bv64) == 119bv8); + free ensures (memory_load8_le(mem, 1964bv64) == 111bv8); + free ensures (memory_load8_le(mem, 1965bv64) == 114bv8); + free ensures (memory_load8_le(mem, 1966bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1967bv64) == 100bv8); + free ensures (memory_load8_le(mem, 1968bv64) == 33bv8); + free ensures (memory_load8_le(mem, 1969bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1970bv64) == 67bv8); + free ensures (memory_load8_le(mem, 1971bv64) == 97bv8); + free ensures (memory_load8_le(mem, 1972bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1973bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1974bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1975bv64) == 110bv8); + free ensures (memory_load8_le(mem, 1976bv64) == 103bv8); + free ensures (memory_load8_le(mem, 1977bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1978bv64) == 103bv8); + free ensures (memory_load8_le(mem, 1979bv64) == 114bv8); + free ensures (memory_load8_le(mem, 1980bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1981bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1982bv64) == 116bv8); + free ensures (memory_load8_le(mem, 1983bv64) == 40bv8); + free ensures (memory_load8_le(mem, 1984bv64) == 41bv8); + free ensures (memory_load8_le(mem, 1985bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1986bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1987bv64) == 110bv8); + free ensures (memory_load8_le(mem, 1988bv64) == 100bv8); + free ensures (memory_load8_le(mem, 1989bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1990bv64) == 114bv8); + free ensures (memory_load8_le(mem, 1991bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1992bv64) == 99bv8); + free ensures (memory_load8_le(mem, 1993bv64) == 116bv8); + free ensures (memory_load8_le(mem, 1994bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1995bv64) == 121bv8); + free ensures (memory_load8_le(mem, 1996bv64) == 58bv8); + free ensures (memory_load8_le(mem, 1997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 96bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -202,3 +341,159 @@ procedure main() } procedure puts(); + free requires (memory_load8_le(mem, 1952bv64) == 1bv8); + free requires (memory_load8_le(mem, 1953bv64) == 0bv8); + free requires (memory_load8_le(mem, 1954bv64) == 2bv8); + free requires (memory_load8_le(mem, 1955bv64) == 0bv8); + free requires (memory_load8_le(mem, 1956bv64) == 72bv8); + free requires (memory_load8_le(mem, 1957bv64) == 101bv8); + free requires (memory_load8_le(mem, 1958bv64) == 108bv8); + free requires (memory_load8_le(mem, 1959bv64) == 108bv8); + free requires (memory_load8_le(mem, 1960bv64) == 111bv8); + free requires (memory_load8_le(mem, 1961bv64) == 44bv8); + free requires (memory_load8_le(mem, 1962bv64) == 32bv8); + free requires (memory_load8_le(mem, 1963bv64) == 119bv8); + free requires (memory_load8_le(mem, 1964bv64) == 111bv8); + free requires (memory_load8_le(mem, 1965bv64) == 114bv8); + free requires (memory_load8_le(mem, 1966bv64) == 108bv8); + free requires (memory_load8_le(mem, 1967bv64) == 100bv8); + free requires (memory_load8_le(mem, 1968bv64) == 33bv8); + free requires (memory_load8_le(mem, 1969bv64) == 0bv8); + free requires (memory_load8_le(mem, 1970bv64) == 67bv8); + free requires (memory_load8_le(mem, 1971bv64) == 97bv8); + free requires (memory_load8_le(mem, 1972bv64) == 108bv8); + free requires (memory_load8_le(mem, 1973bv64) == 108bv8); + free requires (memory_load8_le(mem, 1974bv64) == 105bv8); + free requires (memory_load8_le(mem, 1975bv64) == 110bv8); + free requires (memory_load8_le(mem, 1976bv64) == 103bv8); + free requires (memory_load8_le(mem, 1977bv64) == 32bv8); + free requires (memory_load8_le(mem, 1978bv64) == 103bv8); + free requires (memory_load8_le(mem, 1979bv64) == 114bv8); + free requires (memory_load8_le(mem, 1980bv64) == 101bv8); + free requires (memory_load8_le(mem, 1981bv64) == 101bv8); + free requires (memory_load8_le(mem, 1982bv64) == 116bv8); + free requires (memory_load8_le(mem, 1983bv64) == 40bv8); + free requires (memory_load8_le(mem, 1984bv64) == 41bv8); + free requires (memory_load8_le(mem, 1985bv64) == 32bv8); + free requires (memory_load8_le(mem, 1986bv64) == 105bv8); + free requires (memory_load8_le(mem, 1987bv64) == 110bv8); + free requires (memory_load8_le(mem, 1988bv64) == 100bv8); + free requires (memory_load8_le(mem, 1989bv64) == 105bv8); + free requires (memory_load8_le(mem, 1990bv64) == 114bv8); + free requires (memory_load8_le(mem, 1991bv64) == 101bv8); + free requires (memory_load8_le(mem, 1992bv64) == 99bv8); + free requires (memory_load8_le(mem, 1993bv64) == 116bv8); + free requires (memory_load8_le(mem, 1994bv64) == 108bv8); + free requires (memory_load8_le(mem, 1995bv64) == 121bv8); + free requires (memory_load8_le(mem, 1996bv64) == 58bv8); + free requires (memory_load8_le(mem, 1997bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 96bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1952bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1953bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1954bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1955bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1956bv64) == 72bv8); + free ensures (memory_load8_le(mem, 1957bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1958bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1959bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1960bv64) == 111bv8); + free ensures (memory_load8_le(mem, 1961bv64) == 44bv8); + free ensures (memory_load8_le(mem, 1962bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1963bv64) == 119bv8); + free ensures (memory_load8_le(mem, 1964bv64) == 111bv8); + free ensures (memory_load8_le(mem, 1965bv64) == 114bv8); + free ensures (memory_load8_le(mem, 1966bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1967bv64) == 100bv8); + free ensures (memory_load8_le(mem, 1968bv64) == 33bv8); + free ensures (memory_load8_le(mem, 1969bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1970bv64) == 67bv8); + free ensures (memory_load8_le(mem, 1971bv64) == 97bv8); + free ensures (memory_load8_le(mem, 1972bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1973bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1974bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1975bv64) == 110bv8); + free ensures (memory_load8_le(mem, 1976bv64) == 103bv8); + free ensures (memory_load8_le(mem, 1977bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1978bv64) == 103bv8); + free ensures (memory_load8_le(mem, 1979bv64) == 114bv8); + free ensures (memory_load8_le(mem, 1980bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1981bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1982bv64) == 116bv8); + free ensures (memory_load8_le(mem, 1983bv64) == 40bv8); + free ensures (memory_load8_le(mem, 1984bv64) == 41bv8); + free ensures (memory_load8_le(mem, 1985bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1986bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1987bv64) == 110bv8); + free ensures (memory_load8_le(mem, 1988bv64) == 100bv8); + free ensures (memory_load8_le(mem, 1989bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1990bv64) == 114bv8); + free ensures (memory_load8_le(mem, 1991bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1992bv64) == 99bv8); + free ensures (memory_load8_le(mem, 1993bv64) == 116bv8); + free ensures (memory_load8_le(mem, 1994bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1995bv64) == 121bv8); + free ensures (memory_load8_le(mem, 1996bv64) == 58bv8); + free ensures (memory_load8_le(mem, 1997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 96bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); diff --git a/src/test/correct/indirect_call/clang_no_plt_no_pic/indirect_call.expected b/src/test/correct/indirect_call/clang_no_plt_no_pic/indirect_call.expected index b69097f70..bfa089afd 100644 --- a/src/test/correct/indirect_call/clang_no_plt_no_pic/indirect_call.expected +++ b/src/test/correct/indirect_call/clang_no_plt_no_pic/indirect_call.expected @@ -58,9 +58,88 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1996bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1998bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2000bv64) == 72bv8); + free ensures (memory_load8_le(mem, 2001bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2002bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2003bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2004bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2005bv64) == 44bv8); + free ensures (memory_load8_le(mem, 2006bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2007bv64) == 119bv8); + free ensures (memory_load8_le(mem, 2008bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2009bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2010bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2011bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2012bv64) == 33bv8); + free ensures (memory_load8_le(mem, 2013bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2015bv64) == 67bv8); + free ensures (memory_load8_le(mem, 2016bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2017bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2018bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2019bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2020bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2021bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2022bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2023bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2024bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 40bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 41bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2032bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2033bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2034bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2035bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2036bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2037bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2038bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2039bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2040bv64) == 121bv8); + free ensures (memory_load8_le(mem, 2041bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2042bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2043bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 112bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -78,6 +157,22 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_stack, R0, R29, R30, R31, R8, stack; + free requires (memory_load8_le(mem, 69672bv64) == 0bv8); + free requires (memory_load8_le(mem, 69673bv64) == 0bv8); + free requires (memory_load8_le(mem, 69674bv64) == 0bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); free requires (memory_load8_le(mem, 1996bv64) == 1bv8); free requires (memory_load8_le(mem, 1997bv64) == 0bv8); free requires (memory_load8_le(mem, 1998bv64) == 2bv8); @@ -126,38 +221,22 @@ procedure main() free requires (memory_load8_le(mem, 2041bv64) == 58bv8); free requires (memory_load8_le(mem, 2042bv64) == 10bv8); free requires (memory_load8_le(mem, 2043bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 112bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -166,22 +245,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 0bv8); - free requires (memory_load8_le(mem, 69673bv64) == 0bv8); - free requires (memory_load8_le(mem, 69674bv64) == 0bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 69680bv64) == 48bv8); free requires (memory_load8_le(mem, 69681bv64) == 16bv8); free requires (memory_load8_le(mem, 69682bv64) == 1bv8); @@ -194,6 +257,86 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1996bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1998bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2000bv64) == 72bv8); + free ensures (memory_load8_le(mem, 2001bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2002bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2003bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2004bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2005bv64) == 44bv8); + free ensures (memory_load8_le(mem, 2006bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2007bv64) == 119bv8); + free ensures (memory_load8_le(mem, 2008bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2009bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2010bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2011bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2012bv64) == 33bv8); + free ensures (memory_load8_le(mem, 2013bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2015bv64) == 67bv8); + free ensures (memory_load8_le(mem, 2016bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2017bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2018bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2019bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2020bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2021bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2022bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2023bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2024bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 40bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 41bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2032bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2033bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2034bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2035bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2036bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2037bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2038bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2039bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2040bv64) == 121bv8); + free ensures (memory_load8_le(mem, 2041bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2042bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2043bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 112bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); { var #5: bv64; var #6: bv64; @@ -232,3 +375,163 @@ procedure main() } procedure printf(); + free requires (memory_load8_le(mem, 1996bv64) == 1bv8); + free requires (memory_load8_le(mem, 1997bv64) == 0bv8); + free requires (memory_load8_le(mem, 1998bv64) == 2bv8); + free requires (memory_load8_le(mem, 1999bv64) == 0bv8); + free requires (memory_load8_le(mem, 2000bv64) == 72bv8); + free requires (memory_load8_le(mem, 2001bv64) == 101bv8); + free requires (memory_load8_le(mem, 2002bv64) == 108bv8); + free requires (memory_load8_le(mem, 2003bv64) == 108bv8); + free requires (memory_load8_le(mem, 2004bv64) == 111bv8); + free requires (memory_load8_le(mem, 2005bv64) == 44bv8); + free requires (memory_load8_le(mem, 2006bv64) == 32bv8); + free requires (memory_load8_le(mem, 2007bv64) == 119bv8); + free requires (memory_load8_le(mem, 2008bv64) == 111bv8); + free requires (memory_load8_le(mem, 2009bv64) == 114bv8); + free requires (memory_load8_le(mem, 2010bv64) == 108bv8); + free requires (memory_load8_le(mem, 2011bv64) == 100bv8); + free requires (memory_load8_le(mem, 2012bv64) == 33bv8); + free requires (memory_load8_le(mem, 2013bv64) == 10bv8); + free requires (memory_load8_le(mem, 2014bv64) == 0bv8); + free requires (memory_load8_le(mem, 2015bv64) == 67bv8); + free requires (memory_load8_le(mem, 2016bv64) == 97bv8); + free requires (memory_load8_le(mem, 2017bv64) == 108bv8); + free requires (memory_load8_le(mem, 2018bv64) == 108bv8); + free requires (memory_load8_le(mem, 2019bv64) == 105bv8); + free requires (memory_load8_le(mem, 2020bv64) == 110bv8); + free requires (memory_load8_le(mem, 2021bv64) == 103bv8); + free requires (memory_load8_le(mem, 2022bv64) == 32bv8); + free requires (memory_load8_le(mem, 2023bv64) == 103bv8); + free requires (memory_load8_le(mem, 2024bv64) == 114bv8); + free requires (memory_load8_le(mem, 2025bv64) == 101bv8); + free requires (memory_load8_le(mem, 2026bv64) == 101bv8); + free requires (memory_load8_le(mem, 2027bv64) == 116bv8); + free requires (memory_load8_le(mem, 2028bv64) == 40bv8); + free requires (memory_load8_le(mem, 2029bv64) == 41bv8); + free requires (memory_load8_le(mem, 2030bv64) == 32bv8); + free requires (memory_load8_le(mem, 2031bv64) == 105bv8); + free requires (memory_load8_le(mem, 2032bv64) == 110bv8); + free requires (memory_load8_le(mem, 2033bv64) == 100bv8); + free requires (memory_load8_le(mem, 2034bv64) == 105bv8); + free requires (memory_load8_le(mem, 2035bv64) == 114bv8); + free requires (memory_load8_le(mem, 2036bv64) == 101bv8); + free requires (memory_load8_le(mem, 2037bv64) == 99bv8); + free requires (memory_load8_le(mem, 2038bv64) == 116bv8); + free requires (memory_load8_le(mem, 2039bv64) == 108bv8); + free requires (memory_load8_le(mem, 2040bv64) == 121bv8); + free requires (memory_load8_le(mem, 2041bv64) == 58bv8); + free requires (memory_load8_le(mem, 2042bv64) == 10bv8); + free requires (memory_load8_le(mem, 2043bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 112bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1996bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1998bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2000bv64) == 72bv8); + free ensures (memory_load8_le(mem, 2001bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2002bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2003bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2004bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2005bv64) == 44bv8); + free ensures (memory_load8_le(mem, 2006bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2007bv64) == 119bv8); + free ensures (memory_load8_le(mem, 2008bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2009bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2010bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2011bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2012bv64) == 33bv8); + free ensures (memory_load8_le(mem, 2013bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2015bv64) == 67bv8); + free ensures (memory_load8_le(mem, 2016bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2017bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2018bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2019bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2020bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2021bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2022bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2023bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2024bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 40bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 41bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2032bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2033bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2034bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2035bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2036bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2037bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2038bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2039bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2040bv64) == 121bv8); + free ensures (memory_load8_le(mem, 2041bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2042bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2043bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 112bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); diff --git a/src/test/correct/indirect_call/clang_pic/indirect_call.expected b/src/test/correct/indirect_call/clang_pic/indirect_call.expected index 1b8ea09b1..e466f0137 100644 --- a/src/test/correct/indirect_call/clang_pic/indirect_call.expected +++ b/src/test/correct/indirect_call/clang_pic/indirect_call.expected @@ -58,9 +58,96 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2060bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2062bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2063bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2064bv64) == 72bv8); + free ensures (memory_load8_le(mem, 2065bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2066bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2067bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2068bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2069bv64) == 44bv8); + free ensures (memory_load8_le(mem, 2070bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2071bv64) == 119bv8); + free ensures (memory_load8_le(mem, 2072bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2073bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2074bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2075bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2076bv64) == 33bv8); + free ensures (memory_load8_le(mem, 2077bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2079bv64) == 67bv8); + free ensures (memory_load8_le(mem, 2080bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2081bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2082bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2083bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2084bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2085bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2086bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2087bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2088bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2089bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2090bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2091bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2092bv64) == 40bv8); + free ensures (memory_load8_le(mem, 2093bv64) == 41bv8); + free ensures (memory_load8_le(mem, 2094bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2095bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2096bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2097bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2098bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2099bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2100bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2101bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2102bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2103bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2104bv64) == 121bv8); + free ensures (memory_load8_le(mem, 2105bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2106bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2107bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69576bv64) == 148bv8); + free ensures (memory_load8_le(mem, 69577bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69578bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69579bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69580bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69581bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69582bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69583bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 144bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 176bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -78,6 +165,22 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_stack, R0, R29, R30, R31, R8, stack; + free requires (memory_load8_le(mem, 69672bv64) == 0bv8); + free requires (memory_load8_le(mem, 69673bv64) == 0bv8); + free requires (memory_load8_le(mem, 69674bv64) == 0bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); free requires (memory_load8_le(mem, 2060bv64) == 1bv8); free requires (memory_load8_le(mem, 2061bv64) == 0bv8); free requires (memory_load8_le(mem, 2062bv64) == 2bv8); @@ -126,30 +229,6 @@ procedure main() free requires (memory_load8_le(mem, 2105bv64) == 58bv8); free requires (memory_load8_le(mem, 2106bv64) == 10bv8); free requires (memory_load8_le(mem, 2107bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 13bv8); - free requires (memory_load8_le(mem, 69554bv64) == 1bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 0bv8); - free requires (memory_load8_le(mem, 69561bv64) == 0bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); free requires (memory_load8_le(mem, 69576bv64) == 148bv8); free requires (memory_load8_le(mem, 69577bv64) == 7bv8); free requires (memory_load8_le(mem, 69578bv64) == 0bv8); @@ -158,38 +237,6 @@ procedure main() free requires (memory_load8_le(mem, 69581bv64) == 0bv8); free requires (memory_load8_le(mem, 69582bv64) == 0bv8); free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 176bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 0bv8); - free requires (memory_load8_le(mem, 69673bv64) == 0bv8); - free requires (memory_load8_le(mem, 69674bv64) == 0bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 69680bv64) == 48bv8); free requires (memory_load8_le(mem, 69681bv64) == 16bv8); free requires (memory_load8_le(mem, 69682bv64) == 1bv8); @@ -198,10 +245,122 @@ procedure main() free requires (memory_load8_le(mem, 69685bv64) == 0bv8); free requires (memory_load8_le(mem, 69686bv64) == 0bv8); free requires (memory_load8_le(mem, 69687bv64) == 0bv8); + free requires (memory_load8_le(mem, 69056bv64) == 144bv8); + free requires (memory_load8_le(mem, 69057bv64) == 7bv8); + free requires (memory_load8_le(mem, 69058bv64) == 0bv8); + free requires (memory_load8_le(mem, 69059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69060bv64) == 0bv8); + free requires (memory_load8_le(mem, 69061bv64) == 0bv8); + free requires (memory_load8_le(mem, 69062bv64) == 0bv8); + free requires (memory_load8_le(mem, 69063bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 64bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 176bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2060bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2062bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2063bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2064bv64) == 72bv8); + free ensures (memory_load8_le(mem, 2065bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2066bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2067bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2068bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2069bv64) == 44bv8); + free ensures (memory_load8_le(mem, 2070bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2071bv64) == 119bv8); + free ensures (memory_load8_le(mem, 2072bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2073bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2074bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2075bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2076bv64) == 33bv8); + free ensures (memory_load8_le(mem, 2077bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2079bv64) == 67bv8); + free ensures (memory_load8_le(mem, 2080bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2081bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2082bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2083bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2084bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2085bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2086bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2087bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2088bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2089bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2090bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2091bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2092bv64) == 40bv8); + free ensures (memory_load8_le(mem, 2093bv64) == 41bv8); + free ensures (memory_load8_le(mem, 2094bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2095bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2096bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2097bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2098bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2099bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2100bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2101bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2102bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2103bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2104bv64) == 121bv8); + free ensures (memory_load8_le(mem, 2105bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2106bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2107bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69576bv64) == 148bv8); + free ensures (memory_load8_le(mem, 69577bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69578bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69579bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69580bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69581bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69582bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69583bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 144bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 176bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); { var #5: bv64; var #6: bv64; @@ -240,3 +399,179 @@ procedure main() } procedure printf(); + free requires (memory_load8_le(mem, 2060bv64) == 1bv8); + free requires (memory_load8_le(mem, 2061bv64) == 0bv8); + free requires (memory_load8_le(mem, 2062bv64) == 2bv8); + free requires (memory_load8_le(mem, 2063bv64) == 0bv8); + free requires (memory_load8_le(mem, 2064bv64) == 72bv8); + free requires (memory_load8_le(mem, 2065bv64) == 101bv8); + free requires (memory_load8_le(mem, 2066bv64) == 108bv8); + free requires (memory_load8_le(mem, 2067bv64) == 108bv8); + free requires (memory_load8_le(mem, 2068bv64) == 111bv8); + free requires (memory_load8_le(mem, 2069bv64) == 44bv8); + free requires (memory_load8_le(mem, 2070bv64) == 32bv8); + free requires (memory_load8_le(mem, 2071bv64) == 119bv8); + free requires (memory_load8_le(mem, 2072bv64) == 111bv8); + free requires (memory_load8_le(mem, 2073bv64) == 114bv8); + free requires (memory_load8_le(mem, 2074bv64) == 108bv8); + free requires (memory_load8_le(mem, 2075bv64) == 100bv8); + free requires (memory_load8_le(mem, 2076bv64) == 33bv8); + free requires (memory_load8_le(mem, 2077bv64) == 10bv8); + free requires (memory_load8_le(mem, 2078bv64) == 0bv8); + free requires (memory_load8_le(mem, 2079bv64) == 67bv8); + free requires (memory_load8_le(mem, 2080bv64) == 97bv8); + free requires (memory_load8_le(mem, 2081bv64) == 108bv8); + free requires (memory_load8_le(mem, 2082bv64) == 108bv8); + free requires (memory_load8_le(mem, 2083bv64) == 105bv8); + free requires (memory_load8_le(mem, 2084bv64) == 110bv8); + free requires (memory_load8_le(mem, 2085bv64) == 103bv8); + free requires (memory_load8_le(mem, 2086bv64) == 32bv8); + free requires (memory_load8_le(mem, 2087bv64) == 103bv8); + free requires (memory_load8_le(mem, 2088bv64) == 114bv8); + free requires (memory_load8_le(mem, 2089bv64) == 101bv8); + free requires (memory_load8_le(mem, 2090bv64) == 101bv8); + free requires (memory_load8_le(mem, 2091bv64) == 116bv8); + free requires (memory_load8_le(mem, 2092bv64) == 40bv8); + free requires (memory_load8_le(mem, 2093bv64) == 41bv8); + free requires (memory_load8_le(mem, 2094bv64) == 32bv8); + free requires (memory_load8_le(mem, 2095bv64) == 105bv8); + free requires (memory_load8_le(mem, 2096bv64) == 110bv8); + free requires (memory_load8_le(mem, 2097bv64) == 100bv8); + free requires (memory_load8_le(mem, 2098bv64) == 105bv8); + free requires (memory_load8_le(mem, 2099bv64) == 114bv8); + free requires (memory_load8_le(mem, 2100bv64) == 101bv8); + free requires (memory_load8_le(mem, 2101bv64) == 99bv8); + free requires (memory_load8_le(mem, 2102bv64) == 116bv8); + free requires (memory_load8_le(mem, 2103bv64) == 108bv8); + free requires (memory_load8_le(mem, 2104bv64) == 121bv8); + free requires (memory_load8_le(mem, 2105bv64) == 58bv8); + free requires (memory_load8_le(mem, 2106bv64) == 10bv8); + free requires (memory_load8_le(mem, 2107bv64) == 0bv8); + free requires (memory_load8_le(mem, 69576bv64) == 148bv8); + free requires (memory_load8_le(mem, 69577bv64) == 7bv8); + free requires (memory_load8_le(mem, 69578bv64) == 0bv8); + free requires (memory_load8_le(mem, 69579bv64) == 0bv8); + free requires (memory_load8_le(mem, 69580bv64) == 0bv8); + free requires (memory_load8_le(mem, 69581bv64) == 0bv8); + free requires (memory_load8_le(mem, 69582bv64) == 0bv8); + free requires (memory_load8_le(mem, 69583bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); + free requires (memory_load8_le(mem, 69056bv64) == 144bv8); + free requires (memory_load8_le(mem, 69057bv64) == 7bv8); + free requires (memory_load8_le(mem, 69058bv64) == 0bv8); + free requires (memory_load8_le(mem, 69059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69060bv64) == 0bv8); + free requires (memory_load8_le(mem, 69061bv64) == 0bv8); + free requires (memory_load8_le(mem, 69062bv64) == 0bv8); + free requires (memory_load8_le(mem, 69063bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 64bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 176bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2060bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2062bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2063bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2064bv64) == 72bv8); + free ensures (memory_load8_le(mem, 2065bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2066bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2067bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2068bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2069bv64) == 44bv8); + free ensures (memory_load8_le(mem, 2070bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2071bv64) == 119bv8); + free ensures (memory_load8_le(mem, 2072bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2073bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2074bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2075bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2076bv64) == 33bv8); + free ensures (memory_load8_le(mem, 2077bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2079bv64) == 67bv8); + free ensures (memory_load8_le(mem, 2080bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2081bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2082bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2083bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2084bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2085bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2086bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2087bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2088bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2089bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2090bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2091bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2092bv64) == 40bv8); + free ensures (memory_load8_le(mem, 2093bv64) == 41bv8); + free ensures (memory_load8_le(mem, 2094bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2095bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2096bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2097bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2098bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2099bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2100bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2101bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2102bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2103bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2104bv64) == 121bv8); + free ensures (memory_load8_le(mem, 2105bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2106bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2107bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69576bv64) == 148bv8); + free ensures (memory_load8_le(mem, 69577bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69578bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69579bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69580bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69581bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69582bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69583bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 144bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 176bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); diff --git a/src/test/correct/indirect_call/gcc/indirect_call.expected b/src/test/correct/indirect_call/gcc/indirect_call.expected index 3c865cf39..d7311068c 100644 --- a/src/test/correct/indirect_call/gcc/indirect_call.expected +++ b/src/test/correct/indirect_call/gcc/indirect_call.expected @@ -39,9 +39,92 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1984bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1985bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1986bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1987bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1988bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1989bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1990bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1991bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1992bv64) == 72bv8); + free ensures (memory_load8_le(mem, 1993bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1994bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1995bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1996bv64) == 111bv8); + free ensures (memory_load8_le(mem, 1997bv64) == 44bv8); + free ensures (memory_load8_le(mem, 1998bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1999bv64) == 119bv8); + free ensures (memory_load8_le(mem, 2000bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2001bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2002bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2003bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2004bv64) == 33bv8); + free ensures (memory_load8_le(mem, 2005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2008bv64) == 67bv8); + free ensures (memory_load8_le(mem, 2009bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2010bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2011bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2012bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2013bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2014bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2015bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2016bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2017bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2018bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2019bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2020bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2021bv64) == 40bv8); + free ensures (memory_load8_le(mem, 2022bv64) == 41bv8); + free ensures (memory_load8_le(mem, 2023bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2024bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2032bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2033bv64) == 121bv8); + free ensures (memory_load8_le(mem, 2034bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2035bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 116bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -59,6 +142,22 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R29, R30, R31, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1984bv64) == 1bv8); free requires (memory_load8_le(mem, 1985bv64) == 0bv8); free requires (memory_load8_le(mem, 1986bv64) == 2bv8); @@ -111,102 +210,22 @@ procedure main() free requires (memory_load8_le(mem, 2033bv64) == 121bv8); free requires (memory_load8_le(mem, 2034bv64) == 58bv8); free requires (memory_load8_le(mem, 2035bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 208bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 208bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 208bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 208bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 160bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 80bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 0bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 116bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -215,22 +234,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -243,6 +246,90 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1984bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1985bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1986bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1987bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1988bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1989bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1990bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1991bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1992bv64) == 72bv8); + free ensures (memory_load8_le(mem, 1993bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1994bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1995bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1996bv64) == 111bv8); + free ensures (memory_load8_le(mem, 1997bv64) == 44bv8); + free ensures (memory_load8_le(mem, 1998bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1999bv64) == 119bv8); + free ensures (memory_load8_le(mem, 2000bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2001bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2002bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2003bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2004bv64) == 33bv8); + free ensures (memory_load8_le(mem, 2005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2008bv64) == 67bv8); + free ensures (memory_load8_le(mem, 2009bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2010bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2011bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2012bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2013bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2014bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2015bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2016bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2017bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2018bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2019bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2020bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2021bv64) == 40bv8); + free ensures (memory_load8_le(mem, 2022bv64) == 41bv8); + free ensures (memory_load8_le(mem, 2023bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2024bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2032bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2033bv64) == 121bv8); + free ensures (memory_load8_le(mem, 2034bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2035bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 116bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #5: bv64; var Gamma_#5: bool; @@ -275,3 +362,171 @@ procedure main() } procedure puts(); + free requires (memory_load8_le(mem, 1984bv64) == 1bv8); + free requires (memory_load8_le(mem, 1985bv64) == 0bv8); + free requires (memory_load8_le(mem, 1986bv64) == 2bv8); + free requires (memory_load8_le(mem, 1987bv64) == 0bv8); + free requires (memory_load8_le(mem, 1988bv64) == 0bv8); + free requires (memory_load8_le(mem, 1989bv64) == 0bv8); + free requires (memory_load8_le(mem, 1990bv64) == 0bv8); + free requires (memory_load8_le(mem, 1991bv64) == 0bv8); + free requires (memory_load8_le(mem, 1992bv64) == 72bv8); + free requires (memory_load8_le(mem, 1993bv64) == 101bv8); + free requires (memory_load8_le(mem, 1994bv64) == 108bv8); + free requires (memory_load8_le(mem, 1995bv64) == 108bv8); + free requires (memory_load8_le(mem, 1996bv64) == 111bv8); + free requires (memory_load8_le(mem, 1997bv64) == 44bv8); + free requires (memory_load8_le(mem, 1998bv64) == 32bv8); + free requires (memory_load8_le(mem, 1999bv64) == 119bv8); + free requires (memory_load8_le(mem, 2000bv64) == 111bv8); + free requires (memory_load8_le(mem, 2001bv64) == 114bv8); + free requires (memory_load8_le(mem, 2002bv64) == 108bv8); + free requires (memory_load8_le(mem, 2003bv64) == 100bv8); + free requires (memory_load8_le(mem, 2004bv64) == 33bv8); + free requires (memory_load8_le(mem, 2005bv64) == 0bv8); + free requires (memory_load8_le(mem, 2006bv64) == 0bv8); + free requires (memory_load8_le(mem, 2007bv64) == 0bv8); + free requires (memory_load8_le(mem, 2008bv64) == 67bv8); + free requires (memory_load8_le(mem, 2009bv64) == 97bv8); + free requires (memory_load8_le(mem, 2010bv64) == 108bv8); + free requires (memory_load8_le(mem, 2011bv64) == 108bv8); + free requires (memory_load8_le(mem, 2012bv64) == 105bv8); + free requires (memory_load8_le(mem, 2013bv64) == 110bv8); + free requires (memory_load8_le(mem, 2014bv64) == 103bv8); + free requires (memory_load8_le(mem, 2015bv64) == 32bv8); + free requires (memory_load8_le(mem, 2016bv64) == 103bv8); + free requires (memory_load8_le(mem, 2017bv64) == 114bv8); + free requires (memory_load8_le(mem, 2018bv64) == 101bv8); + free requires (memory_load8_le(mem, 2019bv64) == 101bv8); + free requires (memory_load8_le(mem, 2020bv64) == 116bv8); + free requires (memory_load8_le(mem, 2021bv64) == 40bv8); + free requires (memory_load8_le(mem, 2022bv64) == 41bv8); + free requires (memory_load8_le(mem, 2023bv64) == 32bv8); + free requires (memory_load8_le(mem, 2024bv64) == 105bv8); + free requires (memory_load8_le(mem, 2025bv64) == 110bv8); + free requires (memory_load8_le(mem, 2026bv64) == 100bv8); + free requires (memory_load8_le(mem, 2027bv64) == 105bv8); + free requires (memory_load8_le(mem, 2028bv64) == 114bv8); + free requires (memory_load8_le(mem, 2029bv64) == 101bv8); + free requires (memory_load8_le(mem, 2030bv64) == 99bv8); + free requires (memory_load8_le(mem, 2031bv64) == 116bv8); + free requires (memory_load8_le(mem, 2032bv64) == 108bv8); + free requires (memory_load8_le(mem, 2033bv64) == 121bv8); + free requires (memory_load8_le(mem, 2034bv64) == 58bv8); + free requires (memory_load8_le(mem, 2035bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 80bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 0bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 116bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1984bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1985bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1986bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1987bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1988bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1989bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1990bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1991bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1992bv64) == 72bv8); + free ensures (memory_load8_le(mem, 1993bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1994bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1995bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1996bv64) == 111bv8); + free ensures (memory_load8_le(mem, 1997bv64) == 44bv8); + free ensures (memory_load8_le(mem, 1998bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1999bv64) == 119bv8); + free ensures (memory_load8_le(mem, 2000bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2001bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2002bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2003bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2004bv64) == 33bv8); + free ensures (memory_load8_le(mem, 2005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2008bv64) == 67bv8); + free ensures (memory_load8_le(mem, 2009bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2010bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2011bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2012bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2013bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2014bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2015bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2016bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2017bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2018bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2019bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2020bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2021bv64) == 40bv8); + free ensures (memory_load8_le(mem, 2022bv64) == 41bv8); + free ensures (memory_load8_le(mem, 2023bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2024bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2032bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2033bv64) == 121bv8); + free ensures (memory_load8_le(mem, 2034bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2035bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 116bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); diff --git a/src/test/correct/indirect_call/gcc_O2/indirect_call.expected b/src/test/correct/indirect_call/gcc_O2/indirect_call.expected index 32e3406b1..2861974f1 100644 --- a/src/test/correct/indirect_call/gcc_O2/indirect_call.expected +++ b/src/test/correct/indirect_call/gcc_O2/indirect_call.expected @@ -39,9 +39,92 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1984bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1985bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1986bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1987bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1988bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1989bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1990bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1991bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1992bv64) == 72bv8); + free ensures (memory_load8_le(mem, 1993bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1994bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1995bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1996bv64) == 111bv8); + free ensures (memory_load8_le(mem, 1997bv64) == 44bv8); + free ensures (memory_load8_le(mem, 1998bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1999bv64) == 119bv8); + free ensures (memory_load8_le(mem, 2000bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2001bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2002bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2003bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2004bv64) == 33bv8); + free ensures (memory_load8_le(mem, 2005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2008bv64) == 67bv8); + free ensures (memory_load8_le(mem, 2009bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2010bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2011bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2012bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2013bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2014bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2015bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2016bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2017bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2018bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2019bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2020bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2021bv64) == 40bv8); + free ensures (memory_load8_le(mem, 2022bv64) == 41bv8); + free ensures (memory_load8_le(mem, 2023bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2024bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2032bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2033bv64) == 121bv8); + free ensures (memory_load8_le(mem, 2034bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2035bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 144bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -59,6 +142,174 @@ procedure guarantee_reflexive(); procedure greet() modifies Gamma_R0, R0; + free requires (memory_load8_le(mem, 1984bv64) == 1bv8); + free requires (memory_load8_le(mem, 1985bv64) == 0bv8); + free requires (memory_load8_le(mem, 1986bv64) == 2bv8); + free requires (memory_load8_le(mem, 1987bv64) == 0bv8); + free requires (memory_load8_le(mem, 1988bv64) == 0bv8); + free requires (memory_load8_le(mem, 1989bv64) == 0bv8); + free requires (memory_load8_le(mem, 1990bv64) == 0bv8); + free requires (memory_load8_le(mem, 1991bv64) == 0bv8); + free requires (memory_load8_le(mem, 1992bv64) == 72bv8); + free requires (memory_load8_le(mem, 1993bv64) == 101bv8); + free requires (memory_load8_le(mem, 1994bv64) == 108bv8); + free requires (memory_load8_le(mem, 1995bv64) == 108bv8); + free requires (memory_load8_le(mem, 1996bv64) == 111bv8); + free requires (memory_load8_le(mem, 1997bv64) == 44bv8); + free requires (memory_load8_le(mem, 1998bv64) == 32bv8); + free requires (memory_load8_le(mem, 1999bv64) == 119bv8); + free requires (memory_load8_le(mem, 2000bv64) == 111bv8); + free requires (memory_load8_le(mem, 2001bv64) == 114bv8); + free requires (memory_load8_le(mem, 2002bv64) == 108bv8); + free requires (memory_load8_le(mem, 2003bv64) == 100bv8); + free requires (memory_load8_le(mem, 2004bv64) == 33bv8); + free requires (memory_load8_le(mem, 2005bv64) == 0bv8); + free requires (memory_load8_le(mem, 2006bv64) == 0bv8); + free requires (memory_load8_le(mem, 2007bv64) == 0bv8); + free requires (memory_load8_le(mem, 2008bv64) == 67bv8); + free requires (memory_load8_le(mem, 2009bv64) == 97bv8); + free requires (memory_load8_le(mem, 2010bv64) == 108bv8); + free requires (memory_load8_le(mem, 2011bv64) == 108bv8); + free requires (memory_load8_le(mem, 2012bv64) == 105bv8); + free requires (memory_load8_le(mem, 2013bv64) == 110bv8); + free requires (memory_load8_le(mem, 2014bv64) == 103bv8); + free requires (memory_load8_le(mem, 2015bv64) == 32bv8); + free requires (memory_load8_le(mem, 2016bv64) == 103bv8); + free requires (memory_load8_le(mem, 2017bv64) == 114bv8); + free requires (memory_load8_le(mem, 2018bv64) == 101bv8); + free requires (memory_load8_le(mem, 2019bv64) == 101bv8); + free requires (memory_load8_le(mem, 2020bv64) == 116bv8); + free requires (memory_load8_le(mem, 2021bv64) == 40bv8); + free requires (memory_load8_le(mem, 2022bv64) == 41bv8); + free requires (memory_load8_le(mem, 2023bv64) == 32bv8); + free requires (memory_load8_le(mem, 2024bv64) == 105bv8); + free requires (memory_load8_le(mem, 2025bv64) == 110bv8); + free requires (memory_load8_le(mem, 2026bv64) == 100bv8); + free requires (memory_load8_le(mem, 2027bv64) == 105bv8); + free requires (memory_load8_le(mem, 2028bv64) == 114bv8); + free requires (memory_load8_le(mem, 2029bv64) == 101bv8); + free requires (memory_load8_le(mem, 2030bv64) == 99bv8); + free requires (memory_load8_le(mem, 2031bv64) == 116bv8); + free requires (memory_load8_le(mem, 2032bv64) == 108bv8); + free requires (memory_load8_le(mem, 2033bv64) == 121bv8); + free requires (memory_load8_le(mem, 2034bv64) == 58bv8); + free requires (memory_load8_le(mem, 2035bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 144bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 64bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 64bv8); + free requires (memory_load8_le(mem, 69617bv64) == 6bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1984bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1985bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1986bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1987bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1988bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1989bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1990bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1991bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1992bv64) == 72bv8); + free ensures (memory_load8_le(mem, 1993bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1994bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1995bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1996bv64) == 111bv8); + free ensures (memory_load8_le(mem, 1997bv64) == 44bv8); + free ensures (memory_load8_le(mem, 1998bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1999bv64) == 119bv8); + free ensures (memory_load8_le(mem, 2000bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2001bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2002bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2003bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2004bv64) == 33bv8); + free ensures (memory_load8_le(mem, 2005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2008bv64) == 67bv8); + free ensures (memory_load8_le(mem, 2009bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2010bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2011bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2012bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2013bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2014bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2015bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2016bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2017bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2018bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2019bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2020bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2021bv64) == 40bv8); + free ensures (memory_load8_le(mem, 2022bv64) == 41bv8); + free ensures (memory_load8_le(mem, 2023bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2024bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2032bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2033bv64) == 121bv8); + free ensures (memory_load8_le(mem, 2034bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2035bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 144bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lgreet: R0, Gamma_R0 := 0bv64, true; @@ -70,6 +321,22 @@ procedure greet() procedure main() modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R29, R30, R31, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1984bv64) == 1bv8); free requires (memory_load8_le(mem, 1985bv64) == 0bv8); free requires (memory_load8_le(mem, 1986bv64) == 2bv8); @@ -122,102 +389,22 @@ procedure main() free requires (memory_load8_le(mem, 2033bv64) == 121bv8); free requires (memory_load8_le(mem, 2034bv64) == 58bv8); free requires (memory_load8_le(mem, 2035bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 208bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 208bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 208bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 208bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 160bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 144bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 64bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 64bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -226,22 +413,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -254,6 +425,90 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1984bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1985bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1986bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1987bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1988bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1989bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1990bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1991bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1992bv64) == 72bv8); + free ensures (memory_load8_le(mem, 1993bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1994bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1995bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1996bv64) == 111bv8); + free ensures (memory_load8_le(mem, 1997bv64) == 44bv8); + free ensures (memory_load8_le(mem, 1998bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1999bv64) == 119bv8); + free ensures (memory_load8_le(mem, 2000bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2001bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2002bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2003bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2004bv64) == 33bv8); + free ensures (memory_load8_le(mem, 2005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2008bv64) == 67bv8); + free ensures (memory_load8_le(mem, 2009bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2010bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2011bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2012bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2013bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2014bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2015bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2016bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2017bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2018bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2019bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2020bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2021bv64) == 40bv8); + free ensures (memory_load8_le(mem, 2022bv64) == 41bv8); + free ensures (memory_load8_le(mem, 2023bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2024bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2032bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2033bv64) == 121bv8); + free ensures (memory_load8_le(mem, 2034bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2035bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 144bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #1: bv64; var Gamma_#1: bool; @@ -281,3 +536,171 @@ procedure main() } procedure puts(); + free requires (memory_load8_le(mem, 1984bv64) == 1bv8); + free requires (memory_load8_le(mem, 1985bv64) == 0bv8); + free requires (memory_load8_le(mem, 1986bv64) == 2bv8); + free requires (memory_load8_le(mem, 1987bv64) == 0bv8); + free requires (memory_load8_le(mem, 1988bv64) == 0bv8); + free requires (memory_load8_le(mem, 1989bv64) == 0bv8); + free requires (memory_load8_le(mem, 1990bv64) == 0bv8); + free requires (memory_load8_le(mem, 1991bv64) == 0bv8); + free requires (memory_load8_le(mem, 1992bv64) == 72bv8); + free requires (memory_load8_le(mem, 1993bv64) == 101bv8); + free requires (memory_load8_le(mem, 1994bv64) == 108bv8); + free requires (memory_load8_le(mem, 1995bv64) == 108bv8); + free requires (memory_load8_le(mem, 1996bv64) == 111bv8); + free requires (memory_load8_le(mem, 1997bv64) == 44bv8); + free requires (memory_load8_le(mem, 1998bv64) == 32bv8); + free requires (memory_load8_le(mem, 1999bv64) == 119bv8); + free requires (memory_load8_le(mem, 2000bv64) == 111bv8); + free requires (memory_load8_le(mem, 2001bv64) == 114bv8); + free requires (memory_load8_le(mem, 2002bv64) == 108bv8); + free requires (memory_load8_le(mem, 2003bv64) == 100bv8); + free requires (memory_load8_le(mem, 2004bv64) == 33bv8); + free requires (memory_load8_le(mem, 2005bv64) == 0bv8); + free requires (memory_load8_le(mem, 2006bv64) == 0bv8); + free requires (memory_load8_le(mem, 2007bv64) == 0bv8); + free requires (memory_load8_le(mem, 2008bv64) == 67bv8); + free requires (memory_load8_le(mem, 2009bv64) == 97bv8); + free requires (memory_load8_le(mem, 2010bv64) == 108bv8); + free requires (memory_load8_le(mem, 2011bv64) == 108bv8); + free requires (memory_load8_le(mem, 2012bv64) == 105bv8); + free requires (memory_load8_le(mem, 2013bv64) == 110bv8); + free requires (memory_load8_le(mem, 2014bv64) == 103bv8); + free requires (memory_load8_le(mem, 2015bv64) == 32bv8); + free requires (memory_load8_le(mem, 2016bv64) == 103bv8); + free requires (memory_load8_le(mem, 2017bv64) == 114bv8); + free requires (memory_load8_le(mem, 2018bv64) == 101bv8); + free requires (memory_load8_le(mem, 2019bv64) == 101bv8); + free requires (memory_load8_le(mem, 2020bv64) == 116bv8); + free requires (memory_load8_le(mem, 2021bv64) == 40bv8); + free requires (memory_load8_le(mem, 2022bv64) == 41bv8); + free requires (memory_load8_le(mem, 2023bv64) == 32bv8); + free requires (memory_load8_le(mem, 2024bv64) == 105bv8); + free requires (memory_load8_le(mem, 2025bv64) == 110bv8); + free requires (memory_load8_le(mem, 2026bv64) == 100bv8); + free requires (memory_load8_le(mem, 2027bv64) == 105bv8); + free requires (memory_load8_le(mem, 2028bv64) == 114bv8); + free requires (memory_load8_le(mem, 2029bv64) == 101bv8); + free requires (memory_load8_le(mem, 2030bv64) == 99bv8); + free requires (memory_load8_le(mem, 2031bv64) == 116bv8); + free requires (memory_load8_le(mem, 2032bv64) == 108bv8); + free requires (memory_load8_le(mem, 2033bv64) == 121bv8); + free requires (memory_load8_le(mem, 2034bv64) == 58bv8); + free requires (memory_load8_le(mem, 2035bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 144bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 64bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 64bv8); + free requires (memory_load8_le(mem, 69617bv64) == 6bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1984bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1985bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1986bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1987bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1988bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1989bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1990bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1991bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1992bv64) == 72bv8); + free ensures (memory_load8_le(mem, 1993bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1994bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1995bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1996bv64) == 111bv8); + free ensures (memory_load8_le(mem, 1997bv64) == 44bv8); + free ensures (memory_load8_le(mem, 1998bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1999bv64) == 119bv8); + free ensures (memory_load8_le(mem, 2000bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2001bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2002bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2003bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2004bv64) == 33bv8); + free ensures (memory_load8_le(mem, 2005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2008bv64) == 67bv8); + free ensures (memory_load8_le(mem, 2009bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2010bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2011bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2012bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2013bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2014bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2015bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2016bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2017bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2018bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2019bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2020bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2021bv64) == 40bv8); + free ensures (memory_load8_le(mem, 2022bv64) == 41bv8); + free ensures (memory_load8_le(mem, 2023bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2024bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2032bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2033bv64) == 121bv8); + free ensures (memory_load8_le(mem, 2034bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2035bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 144bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); diff --git a/src/test/correct/indirect_call/gcc_no_plt_no_pic/indirect_call.expected b/src/test/correct/indirect_call/gcc_no_plt_no_pic/indirect_call.expected index 51f8e0fb1..6062885ef 100644 --- a/src/test/correct/indirect_call/gcc_no_plt_no_pic/indirect_call.expected +++ b/src/test/correct/indirect_call/gcc_no_plt_no_pic/indirect_call.expected @@ -39,9 +39,92 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1984bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1985bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1986bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1987bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1988bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1989bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1990bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1991bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1992bv64) == 72bv8); + free ensures (memory_load8_le(mem, 1993bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1994bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1995bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1996bv64) == 111bv8); + free ensures (memory_load8_le(mem, 1997bv64) == 44bv8); + free ensures (memory_load8_le(mem, 1998bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1999bv64) == 119bv8); + free ensures (memory_load8_le(mem, 2000bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2001bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2002bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2003bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2004bv64) == 33bv8); + free ensures (memory_load8_le(mem, 2005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2008bv64) == 67bv8); + free ensures (memory_load8_le(mem, 2009bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2010bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2011bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2012bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2013bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2014bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2015bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2016bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2017bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2018bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2019bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2020bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2021bv64) == 40bv8); + free ensures (memory_load8_le(mem, 2022bv64) == 41bv8); + free ensures (memory_load8_le(mem, 2023bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2024bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2032bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2033bv64) == 121bv8); + free ensures (memory_load8_le(mem, 2034bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2035bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 116bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -59,6 +142,22 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R29, R30, R31, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1984bv64) == 1bv8); free requires (memory_load8_le(mem, 1985bv64) == 0bv8); free requires (memory_load8_le(mem, 1986bv64) == 2bv8); @@ -111,102 +210,22 @@ procedure main() free requires (memory_load8_le(mem, 2033bv64) == 121bv8); free requires (memory_load8_le(mem, 2034bv64) == 58bv8); free requires (memory_load8_le(mem, 2035bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 208bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 208bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 208bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 208bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 160bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 80bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 0bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 116bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -215,22 +234,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -243,6 +246,90 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1984bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1985bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1986bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1987bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1988bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1989bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1990bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1991bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1992bv64) == 72bv8); + free ensures (memory_load8_le(mem, 1993bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1994bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1995bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1996bv64) == 111bv8); + free ensures (memory_load8_le(mem, 1997bv64) == 44bv8); + free ensures (memory_load8_le(mem, 1998bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1999bv64) == 119bv8); + free ensures (memory_load8_le(mem, 2000bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2001bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2002bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2003bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2004bv64) == 33bv8); + free ensures (memory_load8_le(mem, 2005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2008bv64) == 67bv8); + free ensures (memory_load8_le(mem, 2009bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2010bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2011bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2012bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2013bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2014bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2015bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2016bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2017bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2018bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2019bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2020bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2021bv64) == 40bv8); + free ensures (memory_load8_le(mem, 2022bv64) == 41bv8); + free ensures (memory_load8_le(mem, 2023bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2024bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2032bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2033bv64) == 121bv8); + free ensures (memory_load8_le(mem, 2034bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2035bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 116bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #5: bv64; var Gamma_#5: bool; @@ -275,3 +362,171 @@ procedure main() } procedure puts(); + free requires (memory_load8_le(mem, 1984bv64) == 1bv8); + free requires (memory_load8_le(mem, 1985bv64) == 0bv8); + free requires (memory_load8_le(mem, 1986bv64) == 2bv8); + free requires (memory_load8_le(mem, 1987bv64) == 0bv8); + free requires (memory_load8_le(mem, 1988bv64) == 0bv8); + free requires (memory_load8_le(mem, 1989bv64) == 0bv8); + free requires (memory_load8_le(mem, 1990bv64) == 0bv8); + free requires (memory_load8_le(mem, 1991bv64) == 0bv8); + free requires (memory_load8_le(mem, 1992bv64) == 72bv8); + free requires (memory_load8_le(mem, 1993bv64) == 101bv8); + free requires (memory_load8_le(mem, 1994bv64) == 108bv8); + free requires (memory_load8_le(mem, 1995bv64) == 108bv8); + free requires (memory_load8_le(mem, 1996bv64) == 111bv8); + free requires (memory_load8_le(mem, 1997bv64) == 44bv8); + free requires (memory_load8_le(mem, 1998bv64) == 32bv8); + free requires (memory_load8_le(mem, 1999bv64) == 119bv8); + free requires (memory_load8_le(mem, 2000bv64) == 111bv8); + free requires (memory_load8_le(mem, 2001bv64) == 114bv8); + free requires (memory_load8_le(mem, 2002bv64) == 108bv8); + free requires (memory_load8_le(mem, 2003bv64) == 100bv8); + free requires (memory_load8_le(mem, 2004bv64) == 33bv8); + free requires (memory_load8_le(mem, 2005bv64) == 0bv8); + free requires (memory_load8_le(mem, 2006bv64) == 0bv8); + free requires (memory_load8_le(mem, 2007bv64) == 0bv8); + free requires (memory_load8_le(mem, 2008bv64) == 67bv8); + free requires (memory_load8_le(mem, 2009bv64) == 97bv8); + free requires (memory_load8_le(mem, 2010bv64) == 108bv8); + free requires (memory_load8_le(mem, 2011bv64) == 108bv8); + free requires (memory_load8_le(mem, 2012bv64) == 105bv8); + free requires (memory_load8_le(mem, 2013bv64) == 110bv8); + free requires (memory_load8_le(mem, 2014bv64) == 103bv8); + free requires (memory_load8_le(mem, 2015bv64) == 32bv8); + free requires (memory_load8_le(mem, 2016bv64) == 103bv8); + free requires (memory_load8_le(mem, 2017bv64) == 114bv8); + free requires (memory_load8_le(mem, 2018bv64) == 101bv8); + free requires (memory_load8_le(mem, 2019bv64) == 101bv8); + free requires (memory_load8_le(mem, 2020bv64) == 116bv8); + free requires (memory_load8_le(mem, 2021bv64) == 40bv8); + free requires (memory_load8_le(mem, 2022bv64) == 41bv8); + free requires (memory_load8_le(mem, 2023bv64) == 32bv8); + free requires (memory_load8_le(mem, 2024bv64) == 105bv8); + free requires (memory_load8_le(mem, 2025bv64) == 110bv8); + free requires (memory_load8_le(mem, 2026bv64) == 100bv8); + free requires (memory_load8_le(mem, 2027bv64) == 105bv8); + free requires (memory_load8_le(mem, 2028bv64) == 114bv8); + free requires (memory_load8_le(mem, 2029bv64) == 101bv8); + free requires (memory_load8_le(mem, 2030bv64) == 99bv8); + free requires (memory_load8_le(mem, 2031bv64) == 116bv8); + free requires (memory_load8_le(mem, 2032bv64) == 108bv8); + free requires (memory_load8_le(mem, 2033bv64) == 121bv8); + free requires (memory_load8_le(mem, 2034bv64) == 58bv8); + free requires (memory_load8_le(mem, 2035bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 80bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 0bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 116bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1984bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1985bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1986bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1987bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1988bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1989bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1990bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1991bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1992bv64) == 72bv8); + free ensures (memory_load8_le(mem, 1993bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1994bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1995bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1996bv64) == 111bv8); + free ensures (memory_load8_le(mem, 1997bv64) == 44bv8); + free ensures (memory_load8_le(mem, 1998bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1999bv64) == 119bv8); + free ensures (memory_load8_le(mem, 2000bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2001bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2002bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2003bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2004bv64) == 33bv8); + free ensures (memory_load8_le(mem, 2005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2008bv64) == 67bv8); + free ensures (memory_load8_le(mem, 2009bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2010bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2011bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2012bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2013bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2014bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2015bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2016bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2017bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2018bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2019bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2020bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2021bv64) == 40bv8); + free ensures (memory_load8_le(mem, 2022bv64) == 41bv8); + free ensures (memory_load8_le(mem, 2023bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2024bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2032bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2033bv64) == 121bv8); + free ensures (memory_load8_le(mem, 2034bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2035bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 116bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); diff --git a/src/test/correct/indirect_call/gcc_pic/indirect_call.expected b/src/test/correct/indirect_call/gcc_pic/indirect_call.expected index 6e2815128..1918b407c 100644 --- a/src/test/correct/indirect_call/gcc_pic/indirect_call.expected +++ b/src/test/correct/indirect_call/gcc_pic/indirect_call.expected @@ -39,9 +39,100 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2048bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2049bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2050bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2056bv64) == 72bv8); + free ensures (memory_load8_le(mem, 2057bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2058bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2059bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2060bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2061bv64) == 44bv8); + free ensures (memory_load8_le(mem, 2062bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2063bv64) == 119bv8); + free ensures (memory_load8_le(mem, 2064bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2065bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2066bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2067bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2068bv64) == 33bv8); + free ensures (memory_load8_le(mem, 2069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2072bv64) == 67bv8); + free ensures (memory_load8_le(mem, 2073bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2074bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2075bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2076bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2077bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2078bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2079bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2080bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2081bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2082bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2083bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2084bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2085bv64) == 40bv8); + free ensures (memory_load8_le(mem, 2086bv64) == 41bv8); + free ensures (memory_load8_le(mem, 2087bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2088bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2089bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2090bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2091bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2092bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2093bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2094bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2095bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2096bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2097bv64) == 121bv8); + free ensures (memory_load8_le(mem, 2098bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2099bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 180bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69600bv64) == 148bv8); + free ensures (memory_load8_le(mem, 69601bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69602bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69603bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69604bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69605bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69606bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69607bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 144bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -59,6 +150,22 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R29, R30, R31, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 2048bv64) == 1bv8); free requires (memory_load8_le(mem, 2049bv64) == 0bv8); free requires (memory_load8_le(mem, 2050bv64) == 2bv8); @@ -111,134 +218,6 @@ procedure main() free requires (memory_load8_le(mem, 2097bv64) == 121bv8); free requires (memory_load8_le(mem, 2098bv64) == 58bv8); free requires (memory_load8_le(mem, 2099bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 240bv8); - free requires (memory_load8_le(mem, 69537bv64) == 5bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 240bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 240bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 240bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 240bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 152bv8); - free requires (memory_load8_le(mem, 69577bv64) == 13bv8); - free requires (memory_load8_le(mem, 69578bv64) == 1bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 148bv8); - free requires (memory_load8_le(mem, 69601bv64) == 7bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 180bv8); - free requires (memory_load8_le(mem, 69617bv64) == 7bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -247,10 +226,134 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 180bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69600bv64) == 148bv8); + free requires (memory_load8_le(mem, 69601bv64) == 7bv8); + free requires (memory_load8_le(mem, 69602bv64) == 0bv8); + free requires (memory_load8_le(mem, 69603bv64) == 0bv8); + free requires (memory_load8_le(mem, 69604bv64) == 0bv8); + free requires (memory_load8_le(mem, 69605bv64) == 0bv8); + free requires (memory_load8_le(mem, 69606bv64) == 0bv8); + free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 64bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 144bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2048bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2049bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2050bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2056bv64) == 72bv8); + free ensures (memory_load8_le(mem, 2057bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2058bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2059bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2060bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2061bv64) == 44bv8); + free ensures (memory_load8_le(mem, 2062bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2063bv64) == 119bv8); + free ensures (memory_load8_le(mem, 2064bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2065bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2066bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2067bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2068bv64) == 33bv8); + free ensures (memory_load8_le(mem, 2069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2072bv64) == 67bv8); + free ensures (memory_load8_le(mem, 2073bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2074bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2075bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2076bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2077bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2078bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2079bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2080bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2081bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2082bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2083bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2084bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2085bv64) == 40bv8); + free ensures (memory_load8_le(mem, 2086bv64) == 41bv8); + free ensures (memory_load8_le(mem, 2087bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2088bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2089bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2090bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2091bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2092bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2093bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2094bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2095bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2096bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2097bv64) == 121bv8); + free ensures (memory_load8_le(mem, 2098bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2099bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 180bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69600bv64) == 148bv8); + free ensures (memory_load8_le(mem, 69601bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69602bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69603bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69604bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69605bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69606bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69607bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 144bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); { var #5: bv64; var Gamma_#5: bool; @@ -283,3 +386,187 @@ procedure main() } procedure puts(); + free requires (memory_load8_le(mem, 2048bv64) == 1bv8); + free requires (memory_load8_le(mem, 2049bv64) == 0bv8); + free requires (memory_load8_le(mem, 2050bv64) == 2bv8); + free requires (memory_load8_le(mem, 2051bv64) == 0bv8); + free requires (memory_load8_le(mem, 2052bv64) == 0bv8); + free requires (memory_load8_le(mem, 2053bv64) == 0bv8); + free requires (memory_load8_le(mem, 2054bv64) == 0bv8); + free requires (memory_load8_le(mem, 2055bv64) == 0bv8); + free requires (memory_load8_le(mem, 2056bv64) == 72bv8); + free requires (memory_load8_le(mem, 2057bv64) == 101bv8); + free requires (memory_load8_le(mem, 2058bv64) == 108bv8); + free requires (memory_load8_le(mem, 2059bv64) == 108bv8); + free requires (memory_load8_le(mem, 2060bv64) == 111bv8); + free requires (memory_load8_le(mem, 2061bv64) == 44bv8); + free requires (memory_load8_le(mem, 2062bv64) == 32bv8); + free requires (memory_load8_le(mem, 2063bv64) == 119bv8); + free requires (memory_load8_le(mem, 2064bv64) == 111bv8); + free requires (memory_load8_le(mem, 2065bv64) == 114bv8); + free requires (memory_load8_le(mem, 2066bv64) == 108bv8); + free requires (memory_load8_le(mem, 2067bv64) == 100bv8); + free requires (memory_load8_le(mem, 2068bv64) == 33bv8); + free requires (memory_load8_le(mem, 2069bv64) == 0bv8); + free requires (memory_load8_le(mem, 2070bv64) == 0bv8); + free requires (memory_load8_le(mem, 2071bv64) == 0bv8); + free requires (memory_load8_le(mem, 2072bv64) == 67bv8); + free requires (memory_load8_le(mem, 2073bv64) == 97bv8); + free requires (memory_load8_le(mem, 2074bv64) == 108bv8); + free requires (memory_load8_le(mem, 2075bv64) == 108bv8); + free requires (memory_load8_le(mem, 2076bv64) == 105bv8); + free requires (memory_load8_le(mem, 2077bv64) == 110bv8); + free requires (memory_load8_le(mem, 2078bv64) == 103bv8); + free requires (memory_load8_le(mem, 2079bv64) == 32bv8); + free requires (memory_load8_le(mem, 2080bv64) == 103bv8); + free requires (memory_load8_le(mem, 2081bv64) == 114bv8); + free requires (memory_load8_le(mem, 2082bv64) == 101bv8); + free requires (memory_load8_le(mem, 2083bv64) == 101bv8); + free requires (memory_load8_le(mem, 2084bv64) == 116bv8); + free requires (memory_load8_le(mem, 2085bv64) == 40bv8); + free requires (memory_load8_le(mem, 2086bv64) == 41bv8); + free requires (memory_load8_le(mem, 2087bv64) == 32bv8); + free requires (memory_load8_le(mem, 2088bv64) == 105bv8); + free requires (memory_load8_le(mem, 2089bv64) == 110bv8); + free requires (memory_load8_le(mem, 2090bv64) == 100bv8); + free requires (memory_load8_le(mem, 2091bv64) == 105bv8); + free requires (memory_load8_le(mem, 2092bv64) == 114bv8); + free requires (memory_load8_le(mem, 2093bv64) == 101bv8); + free requires (memory_load8_le(mem, 2094bv64) == 99bv8); + free requires (memory_load8_le(mem, 2095bv64) == 116bv8); + free requires (memory_load8_le(mem, 2096bv64) == 108bv8); + free requires (memory_load8_le(mem, 2097bv64) == 121bv8); + free requires (memory_load8_le(mem, 2098bv64) == 58bv8); + free requires (memory_load8_le(mem, 2099bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 180bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69600bv64) == 148bv8); + free requires (memory_load8_le(mem, 69601bv64) == 7bv8); + free requires (memory_load8_le(mem, 69602bv64) == 0bv8); + free requires (memory_load8_le(mem, 69603bv64) == 0bv8); + free requires (memory_load8_le(mem, 69604bv64) == 0bv8); + free requires (memory_load8_le(mem, 69605bv64) == 0bv8); + free requires (memory_load8_le(mem, 69606bv64) == 0bv8); + free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 64bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 144bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2048bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2049bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2050bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2056bv64) == 72bv8); + free ensures (memory_load8_le(mem, 2057bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2058bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2059bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2060bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2061bv64) == 44bv8); + free ensures (memory_load8_le(mem, 2062bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2063bv64) == 119bv8); + free ensures (memory_load8_le(mem, 2064bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2065bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2066bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2067bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2068bv64) == 33bv8); + free ensures (memory_load8_le(mem, 2069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2072bv64) == 67bv8); + free ensures (memory_load8_le(mem, 2073bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2074bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2075bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2076bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2077bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2078bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2079bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2080bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2081bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2082bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2083bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2084bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2085bv64) == 40bv8); + free ensures (memory_load8_le(mem, 2086bv64) == 41bv8); + free ensures (memory_load8_le(mem, 2087bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2088bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2089bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2090bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2091bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2092bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2093bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2094bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2095bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2096bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2097bv64) == 121bv8); + free ensures (memory_load8_le(mem, 2098bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2099bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 180bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69600bv64) == 148bv8); + free ensures (memory_load8_le(mem, 69601bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69602bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69603bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69604bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69605bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69606bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69607bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 144bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); diff --git a/src/test/correct/initialisation/clang/initialisation.expected b/src/test/correct/initialisation/clang/initialisation.expected index 0e3758685..043cb198f 100644 --- a/src/test/correct/initialisation/clang/initialisation.expected +++ b/src/test/correct/initialisation/clang/initialisation.expected @@ -82,9 +82,44 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1912bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1913bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1914bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1915bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -102,58 +137,6 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R10, Gamma_R11, Gamma_R8, Gamma_R9, Gamma_mem, R0, R10, R11, R8, R9, mem; - free requires (memory_load8_le(mem, 1912bv64) == 1bv8); - free requires (memory_load8_le(mem, 1913bv64) == 0bv8); - free requires (memory_load8_le(mem, 1914bv64) == 2bv8); - free requires (memory_load8_le(mem, 1915bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 20bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); free requires (memory_load8_le(mem, 69664bv64) == 0bv8); free requires (memory_load8_le(mem, 69665bv64) == 0bv8); free requires (memory_load8_le(mem, 69666bv64) == 0bv8); @@ -194,9 +177,81 @@ procedure main() free requires (memory_load8_le(mem, 69701bv64) == 0bv8); free requires (memory_load8_le(mem, 69702bv64) == 0bv8); free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free requires (memory_load8_le(mem, 1912bv64) == 1bv8); + free requires (memory_load8_le(mem, 1913bv64) == 0bv8); + free requires (memory_load8_le(mem, 1914bv64) == 2bv8); + free requires (memory_load8_le(mem, 1915bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); ensures (memory_load32_le(mem, $x_addr) == 6bv32); ensures (memory_load32_le(mem, bvadd64($a_addr, 4bv64)) == 4bv32); ensures (memory_load32_le(mem, bvadd64($a_addr, 0bv64)) == 1bv32); + free ensures (memory_load8_le(mem, 1912bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1913bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1914bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1915bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv64; var CF: bv1; diff --git a/src/test/correct/initialisation/clang_O2/initialisation.expected b/src/test/correct/initialisation/clang_O2/initialisation.expected index d9aa951b5..15e695940 100644 --- a/src/test/correct/initialisation/clang_O2/initialisation.expected +++ b/src/test/correct/initialisation/clang_O2/initialisation.expected @@ -84,9 +84,44 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1908bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1909bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1910bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1911bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -104,58 +139,6 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R10, Gamma_R11, Gamma_R12, Gamma_R13, Gamma_R14, Gamma_R15, Gamma_R8, Gamma_R9, Gamma_mem, R0, R10, R11, R12, R13, R14, R15, R8, R9, mem; - free requires (memory_load8_le(mem, 1908bv64) == 1bv8); - free requires (memory_load8_le(mem, 1909bv64) == 0bv8); - free requires (memory_load8_le(mem, 1910bv64) == 2bv8); - free requires (memory_load8_le(mem, 1911bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 20bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); free requires (memory_load8_le(mem, 69664bv64) == 0bv8); free requires (memory_load8_le(mem, 69665bv64) == 0bv8); free requires (memory_load8_le(mem, 69666bv64) == 0bv8); @@ -196,9 +179,81 @@ procedure main() free requires (memory_load8_le(mem, 69701bv64) == 0bv8); free requires (memory_load8_le(mem, 69702bv64) == 0bv8); free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free requires (memory_load8_le(mem, 1908bv64) == 1bv8); + free requires (memory_load8_le(mem, 1909bv64) == 0bv8); + free requires (memory_load8_le(mem, 1910bv64) == 2bv8); + free requires (memory_load8_le(mem, 1911bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); ensures (memory_load32_le(mem, $x_addr) == 6bv32); ensures (memory_load32_le(mem, bvadd64($a_addr, 4bv64)) == 4bv32); ensures (memory_load32_le(mem, bvadd64($a_addr, 0bv64)) == 1bv32); + free ensures (memory_load8_le(mem, 1908bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1909bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1910bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1911bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { lmain: R10, Gamma_R10 := 69632bv64, true; diff --git a/src/test/correct/initialisation/clang_no_plt_no_pic/initialisation.expected b/src/test/correct/initialisation/clang_no_plt_no_pic/initialisation.expected index 0e3758685..043cb198f 100644 --- a/src/test/correct/initialisation/clang_no_plt_no_pic/initialisation.expected +++ b/src/test/correct/initialisation/clang_no_plt_no_pic/initialisation.expected @@ -82,9 +82,44 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1912bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1913bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1914bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1915bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -102,58 +137,6 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R10, Gamma_R11, Gamma_R8, Gamma_R9, Gamma_mem, R0, R10, R11, R8, R9, mem; - free requires (memory_load8_le(mem, 1912bv64) == 1bv8); - free requires (memory_load8_le(mem, 1913bv64) == 0bv8); - free requires (memory_load8_le(mem, 1914bv64) == 2bv8); - free requires (memory_load8_le(mem, 1915bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 20bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); free requires (memory_load8_le(mem, 69664bv64) == 0bv8); free requires (memory_load8_le(mem, 69665bv64) == 0bv8); free requires (memory_load8_le(mem, 69666bv64) == 0bv8); @@ -194,9 +177,81 @@ procedure main() free requires (memory_load8_le(mem, 69701bv64) == 0bv8); free requires (memory_load8_le(mem, 69702bv64) == 0bv8); free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free requires (memory_load8_le(mem, 1912bv64) == 1bv8); + free requires (memory_load8_le(mem, 1913bv64) == 0bv8); + free requires (memory_load8_le(mem, 1914bv64) == 2bv8); + free requires (memory_load8_le(mem, 1915bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); ensures (memory_load32_le(mem, $x_addr) == 6bv32); ensures (memory_load32_le(mem, bvadd64($a_addr, 4bv64)) == 4bv32); ensures (memory_load32_le(mem, bvadd64($a_addr, 0bv64)) == 1bv32); + free ensures (memory_load8_le(mem, 1912bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1913bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1914bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1915bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv64; var CF: bv1; diff --git a/src/test/correct/initialisation/clang_pic/initialisation.expected b/src/test/correct/initialisation/clang_pic/initialisation.expected index 1da579054..5ea0449c4 100644 --- a/src/test/correct/initialisation/clang_pic/initialisation.expected +++ b/src/test/correct/initialisation/clang_pic/initialisation.expected @@ -80,9 +80,76 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2048bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2049bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2050bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69576bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69577bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69578bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69579bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69580bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69581bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69582bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69583bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69584bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69585bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69586bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69552bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69553bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69554bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69555bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69556bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69557bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69558bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69559bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69040bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69041bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69042bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69043bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69044bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69045bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69046bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69047bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 148bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69032bv64) == 144bv8); + free ensures (memory_load8_le(mem, 69033bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69034bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69035bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69036bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69037bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69038bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69039bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69560bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69561bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69562bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69563bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69564bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69565bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69566bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69567bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -100,90 +167,6 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R10, Gamma_R8, Gamma_R9, Gamma_mem, R0, R10, R8, R9, mem; - free requires (memory_load8_le(mem, 2048bv64) == 1bv8); - free requires (memory_load8_le(mem, 2049bv64) == 0bv8); - free requires (memory_load8_le(mem, 2050bv64) == 2bv8); - free requires (memory_load8_le(mem, 2051bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 184bv8); - free requires (memory_load8_le(mem, 69529bv64) == 13bv8); - free requires (memory_load8_le(mem, 69530bv64) == 1bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 56bv8); - free requires (memory_load8_le(mem, 69553bv64) == 16bv8); - free requires (memory_load8_le(mem, 69554bv64) == 1bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 48bv8); - free requires (memory_load8_le(mem, 69561bv64) == 16bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 64bv8); - free requires (memory_load8_le(mem, 69577bv64) == 16bv8); - free requires (memory_load8_le(mem, 69578bv64) == 1bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 52bv8); - free requires (memory_load8_le(mem, 69585bv64) == 16bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 148bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); free requires (memory_load8_le(mem, 69664bv64) == 0bv8); free requires (memory_load8_le(mem, 69665bv64) == 0bv8); free requires (memory_load8_le(mem, 69666bv64) == 0bv8); @@ -224,9 +207,145 @@ procedure main() free requires (memory_load8_le(mem, 69701bv64) == 0bv8); free requires (memory_load8_le(mem, 69702bv64) == 0bv8); free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free requires (memory_load8_le(mem, 2048bv64) == 1bv8); + free requires (memory_load8_le(mem, 2049bv64) == 0bv8); + free requires (memory_load8_le(mem, 2050bv64) == 2bv8); + free requires (memory_load8_le(mem, 2051bv64) == 0bv8); + free requires (memory_load8_le(mem, 69576bv64) == 64bv8); + free requires (memory_load8_le(mem, 69577bv64) == 16bv8); + free requires (memory_load8_le(mem, 69578bv64) == 1bv8); + free requires (memory_load8_le(mem, 69579bv64) == 0bv8); + free requires (memory_load8_le(mem, 69580bv64) == 0bv8); + free requires (memory_load8_le(mem, 69581bv64) == 0bv8); + free requires (memory_load8_le(mem, 69582bv64) == 0bv8); + free requires (memory_load8_le(mem, 69583bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69584bv64) == 52bv8); + free requires (memory_load8_le(mem, 69585bv64) == 16bv8); + free requires (memory_load8_le(mem, 69586bv64) == 1bv8); + free requires (memory_load8_le(mem, 69587bv64) == 0bv8); + free requires (memory_load8_le(mem, 69588bv64) == 0bv8); + free requires (memory_load8_le(mem, 69589bv64) == 0bv8); + free requires (memory_load8_le(mem, 69590bv64) == 0bv8); + free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69552bv64) == 56bv8); + free requires (memory_load8_le(mem, 69553bv64) == 16bv8); + free requires (memory_load8_le(mem, 69554bv64) == 1bv8); + free requires (memory_load8_le(mem, 69555bv64) == 0bv8); + free requires (memory_load8_le(mem, 69556bv64) == 0bv8); + free requires (memory_load8_le(mem, 69557bv64) == 0bv8); + free requires (memory_load8_le(mem, 69558bv64) == 0bv8); + free requires (memory_load8_le(mem, 69559bv64) == 0bv8); + free requires (memory_load8_le(mem, 69040bv64) == 64bv8); + free requires (memory_load8_le(mem, 69041bv64) == 7bv8); + free requires (memory_load8_le(mem, 69042bv64) == 0bv8); + free requires (memory_load8_le(mem, 69043bv64) == 0bv8); + free requires (memory_load8_le(mem, 69044bv64) == 0bv8); + free requires (memory_load8_le(mem, 69045bv64) == 0bv8); + free requires (memory_load8_le(mem, 69046bv64) == 0bv8); + free requires (memory_load8_le(mem, 69047bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 148bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69032bv64) == 144bv8); + free requires (memory_load8_le(mem, 69033bv64) == 7bv8); + free requires (memory_load8_le(mem, 69034bv64) == 0bv8); + free requires (memory_load8_le(mem, 69035bv64) == 0bv8); + free requires (memory_load8_le(mem, 69036bv64) == 0bv8); + free requires (memory_load8_le(mem, 69037bv64) == 0bv8); + free requires (memory_load8_le(mem, 69038bv64) == 0bv8); + free requires (memory_load8_le(mem, 69039bv64) == 0bv8); + free requires (memory_load8_le(mem, 69560bv64) == 48bv8); + free requires (memory_load8_le(mem, 69561bv64) == 16bv8); + free requires (memory_load8_le(mem, 69562bv64) == 1bv8); + free requires (memory_load8_le(mem, 69563bv64) == 0bv8); + free requires (memory_load8_le(mem, 69564bv64) == 0bv8); + free requires (memory_load8_le(mem, 69565bv64) == 0bv8); + free requires (memory_load8_le(mem, 69566bv64) == 0bv8); + free requires (memory_load8_le(mem, 69567bv64) == 0bv8); ensures (memory_load32_le(mem, $x_addr) == 6bv32); ensures (memory_load32_le(mem, bvadd64($a_addr, 4bv64)) == 4bv32); ensures (memory_load32_le(mem, bvadd64($a_addr, 0bv64)) == 1bv32); + free ensures (memory_load8_le(mem, 2048bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2049bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2050bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69576bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69577bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69578bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69579bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69580bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69581bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69582bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69583bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69584bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69585bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69586bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69552bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69553bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69554bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69555bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69556bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69557bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69558bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69559bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69040bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69041bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69042bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69043bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69044bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69045bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69046bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69047bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 148bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69032bv64) == 144bv8); + free ensures (memory_load8_le(mem, 69033bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69034bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69035bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69036bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69037bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69038bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69039bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69560bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69561bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69562bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69563bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69564bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69565bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69566bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69567bv64) == 0bv8); { var #4: bv64; var CF: bv1; diff --git a/src/test/correct/initialisation/gcc/initialisation.expected b/src/test/correct/initialisation/gcc/initialisation.expected index aa9f50115..8814935a1 100644 --- a/src/test/correct/initialisation/gcc/initialisation.expected +++ b/src/test/correct/initialisation/gcc/initialisation.expected @@ -70,9 +70,44 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1956bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1957bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1958bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1959bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -90,114 +125,6 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; - free requires (memory_load8_le(mem, 1956bv64) == 1bv8); - free requires (memory_load8_le(mem, 1957bv64) == 0bv8); - free requires (memory_load8_le(mem, 1958bv64) == 2bv8); - free requires (memory_load8_le(mem, 1959bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 20bv8); - free requires (memory_load8_le(mem, 69617bv64) == 7bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -238,9 +165,81 @@ procedure main() free requires (memory_load8_le(mem, 69669bv64) == 0bv8); free requires (memory_load8_le(mem, 69670bv64) == 0bv8); free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 1956bv64) == 1bv8); + free requires (memory_load8_le(mem, 1957bv64) == 0bv8); + free requires (memory_load8_le(mem, 1958bv64) == 2bv8); + free requires (memory_load8_le(mem, 1959bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); ensures (memory_load32_le(mem, $x_addr) == 6bv32); ensures (memory_load32_le(mem, bvadd64($a_addr, 4bv64)) == 4bv32); ensures (memory_load32_le(mem, bvadd64($a_addr, 0bv64)) == 1bv32); + free ensures (memory_load8_le(mem, 1956bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1957bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1958bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1959bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lmain: R0, Gamma_R0 := 69632bv64, true; diff --git a/src/test/correct/initialisation/gcc_O2/initialisation.expected b/src/test/correct/initialisation/gcc_O2/initialisation.expected index 896410bab..4adb6b906 100644 --- a/src/test/correct/initialisation/gcc_O2/initialisation.expected +++ b/src/test/correct/initialisation/gcc_O2/initialisation.expected @@ -80,9 +80,44 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -100,114 +135,6 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R2, Gamma_R3, Gamma_R4, Gamma_R5, Gamma_R6, Gamma_mem, R0, R1, R2, R3, R4, R5, R6, mem; - free requires (memory_load8_le(mem, 1896bv64) == 1bv8); - free requires (memory_load8_le(mem, 1897bv64) == 0bv8); - free requires (memory_load8_le(mem, 1898bv64) == 2bv8); - free requires (memory_load8_le(mem, 1899bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 0bv8); - free requires (memory_load8_le(mem, 69617bv64) == 6bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -249,9 +176,81 @@ procedure main() free requires (memory_load8_le(mem, 69670bv64) == 0bv8); free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 97bv8); + free requires (memory_load8_le(mem, 1896bv64) == 1bv8); + free requires (memory_load8_le(mem, 1897bv64) == 0bv8); + free requires (memory_load8_le(mem, 1898bv64) == 2bv8); + free requires (memory_load8_le(mem, 1899bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 80bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 0bv8); + free requires (memory_load8_le(mem, 69025bv64) == 7bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 0bv8); + free requires (memory_load8_le(mem, 69617bv64) == 6bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); ensures (memory_load32_le(mem, $x_addr) == 6bv32); ensures (memory_load32_le(mem, bvadd64($a_addr, 4bv64)) == 4bv32); ensures (memory_load32_le(mem, bvadd64($a_addr, 0bv64)) == 1bv32); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lmain: R5, Gamma_R5 := 69632bv64, true; diff --git a/src/test/correct/initialisation/gcc_no_plt_no_pic/initialisation.expected b/src/test/correct/initialisation/gcc_no_plt_no_pic/initialisation.expected index aa9f50115..8814935a1 100644 --- a/src/test/correct/initialisation/gcc_no_plt_no_pic/initialisation.expected +++ b/src/test/correct/initialisation/gcc_no_plt_no_pic/initialisation.expected @@ -70,9 +70,44 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1956bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1957bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1958bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1959bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -90,114 +125,6 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; - free requires (memory_load8_le(mem, 1956bv64) == 1bv8); - free requires (memory_load8_le(mem, 1957bv64) == 0bv8); - free requires (memory_load8_le(mem, 1958bv64) == 2bv8); - free requires (memory_load8_le(mem, 1959bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 20bv8); - free requires (memory_load8_le(mem, 69617bv64) == 7bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -238,9 +165,81 @@ procedure main() free requires (memory_load8_le(mem, 69669bv64) == 0bv8); free requires (memory_load8_le(mem, 69670bv64) == 0bv8); free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 1956bv64) == 1bv8); + free requires (memory_load8_le(mem, 1957bv64) == 0bv8); + free requires (memory_load8_le(mem, 1958bv64) == 2bv8); + free requires (memory_load8_le(mem, 1959bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); ensures (memory_load32_le(mem, $x_addr) == 6bv32); ensures (memory_load32_le(mem, bvadd64($a_addr, 4bv64)) == 4bv32); ensures (memory_load32_le(mem, bvadd64($a_addr, 0bv64)) == 1bv32); + free ensures (memory_load8_le(mem, 1956bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1957bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1958bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1959bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lmain: R0, Gamma_R0 := 69632bv64, true; diff --git a/src/test/correct/initialisation/gcc_pic/initialisation.expected b/src/test/correct/initialisation/gcc_pic/initialisation.expected index 2d4a228df..5eabd9d48 100644 --- a/src/test/correct/initialisation/gcc_pic/initialisation.expected +++ b/src/test/correct/initialisation/gcc_pic/initialisation.expected @@ -70,9 +70,76 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2084bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2085bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2086bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2087bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69608bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69609bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69610bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69611bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69612bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69613bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69614bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69615bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69576bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69577bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69578bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69579bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69580bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69581bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69582bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69583bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 148bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69584bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69585bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69586bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69600bv64) == 32bv8); + free ensures (memory_load8_le(mem, 69601bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69602bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69603bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69604bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69605bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69606bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69607bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68984bv64) == 144bv8); + free ensures (memory_load8_le(mem, 68985bv64) == 7bv8); + free ensures (memory_load8_le(mem, 68986bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68987bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68988bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68989bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68990bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68991bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 64bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 7bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -90,146 +157,6 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; - free requires (memory_load8_le(mem, 2084bv64) == 1bv8); - free requires (memory_load8_le(mem, 2085bv64) == 0bv8); - free requires (memory_load8_le(mem, 2086bv64) == 2bv8); - free requires (memory_load8_le(mem, 2087bv64) == 0bv8); - free requires (memory_load8_le(mem, 69496bv64) == 0bv8); - free requires (memory_load8_le(mem, 69497bv64) == 0bv8); - free requires (memory_load8_le(mem, 69498bv64) == 0bv8); - free requires (memory_load8_le(mem, 69499bv64) == 0bv8); - free requires (memory_load8_le(mem, 69500bv64) == 0bv8); - free requires (memory_load8_le(mem, 69501bv64) == 0bv8); - free requires (memory_load8_le(mem, 69502bv64) == 0bv8); - free requires (memory_load8_le(mem, 69503bv64) == 0bv8); - free requires (memory_load8_le(mem, 69504bv64) == 0bv8); - free requires (memory_load8_le(mem, 69505bv64) == 0bv8); - free requires (memory_load8_le(mem, 69506bv64) == 0bv8); - free requires (memory_load8_le(mem, 69507bv64) == 0bv8); - free requires (memory_load8_le(mem, 69508bv64) == 0bv8); - free requires (memory_load8_le(mem, 69509bv64) == 0bv8); - free requires (memory_load8_le(mem, 69510bv64) == 0bv8); - free requires (memory_load8_le(mem, 69511bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 6bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 6bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 6bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 6bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 136bv8); - free requires (memory_load8_le(mem, 69553bv64) == 13bv8); - free requires (memory_load8_le(mem, 69554bv64) == 1bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 0bv8); - free requires (memory_load8_le(mem, 69561bv64) == 0bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 24bv8); - free requires (memory_load8_le(mem, 69577bv64) == 16bv8); - free requires (memory_load8_le(mem, 69578bv64) == 1bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 16bv8); - free requires (memory_load8_le(mem, 69585bv64) == 16bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 32bv8); - free requires (memory_load8_le(mem, 69601bv64) == 16bv8); - free requires (memory_load8_le(mem, 69602bv64) == 1bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 20bv8); - free requires (memory_load8_le(mem, 69609bv64) == 16bv8); - free requires (memory_load8_le(mem, 69610bv64) == 1bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 148bv8); - free requires (memory_load8_le(mem, 69617bv64) == 7bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -270,9 +197,145 @@ procedure main() free requires (memory_load8_le(mem, 69669bv64) == 0bv8); free requires (memory_load8_le(mem, 69670bv64) == 0bv8); free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 2084bv64) == 1bv8); + free requires (memory_load8_le(mem, 2085bv64) == 0bv8); + free requires (memory_load8_le(mem, 2086bv64) == 2bv8); + free requires (memory_load8_le(mem, 2087bv64) == 0bv8); + free requires (memory_load8_le(mem, 69608bv64) == 20bv8); + free requires (memory_load8_le(mem, 69609bv64) == 16bv8); + free requires (memory_load8_le(mem, 69610bv64) == 1bv8); + free requires (memory_load8_le(mem, 69611bv64) == 0bv8); + free requires (memory_load8_le(mem, 69612bv64) == 0bv8); + free requires (memory_load8_le(mem, 69613bv64) == 0bv8); + free requires (memory_load8_le(mem, 69614bv64) == 0bv8); + free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69576bv64) == 24bv8); + free requires (memory_load8_le(mem, 69577bv64) == 16bv8); + free requires (memory_load8_le(mem, 69578bv64) == 1bv8); + free requires (memory_load8_le(mem, 69579bv64) == 0bv8); + free requires (memory_load8_le(mem, 69580bv64) == 0bv8); + free requires (memory_load8_le(mem, 69581bv64) == 0bv8); + free requires (memory_load8_le(mem, 69582bv64) == 0bv8); + free requires (memory_load8_le(mem, 69583bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 148bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69584bv64) == 16bv8); + free requires (memory_load8_le(mem, 69585bv64) == 16bv8); + free requires (memory_load8_le(mem, 69586bv64) == 1bv8); + free requires (memory_load8_le(mem, 69587bv64) == 0bv8); + free requires (memory_load8_le(mem, 69588bv64) == 0bv8); + free requires (memory_load8_le(mem, 69589bv64) == 0bv8); + free requires (memory_load8_le(mem, 69590bv64) == 0bv8); + free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69600bv64) == 32bv8); + free requires (memory_load8_le(mem, 69601bv64) == 16bv8); + free requires (memory_load8_le(mem, 69602bv64) == 1bv8); + free requires (memory_load8_le(mem, 69603bv64) == 0bv8); + free requires (memory_load8_le(mem, 69604bv64) == 0bv8); + free requires (memory_load8_le(mem, 69605bv64) == 0bv8); + free requires (memory_load8_le(mem, 69606bv64) == 0bv8); + free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 68984bv64) == 144bv8); + free requires (memory_load8_le(mem, 68985bv64) == 7bv8); + free requires (memory_load8_le(mem, 68986bv64) == 0bv8); + free requires (memory_load8_le(mem, 68987bv64) == 0bv8); + free requires (memory_load8_le(mem, 68988bv64) == 0bv8); + free requires (memory_load8_le(mem, 68989bv64) == 0bv8); + free requires (memory_load8_le(mem, 68990bv64) == 0bv8); + free requires (memory_load8_le(mem, 68991bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 64bv8); + free requires (memory_load8_le(mem, 68993bv64) == 7bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); ensures (memory_load32_le(mem, $x_addr) == 6bv32); ensures (memory_load32_le(mem, bvadd64($a_addr, 4bv64)) == 4bv32); ensures (memory_load32_le(mem, bvadd64($a_addr, 0bv64)) == 1bv32); + free ensures (memory_load8_le(mem, 2084bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2085bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2086bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2087bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69608bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69609bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69610bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69611bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69612bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69613bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69614bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69615bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69576bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69577bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69578bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69579bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69580bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69581bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69582bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69583bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 148bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69584bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69585bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69586bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69600bv64) == 32bv8); + free ensures (memory_load8_le(mem, 69601bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69602bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69603bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69604bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69605bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69606bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69607bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68984bv64) == 144bv8); + free ensures (memory_load8_le(mem, 68985bv64) == 7bv8); + free ensures (memory_load8_le(mem, 68986bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68987bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68988bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68989bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68990bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68991bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 64bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 7bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); { lmain: R0, Gamma_R0 := 65536bv64, true; diff --git a/src/test/correct/jumptable/clang/jumptable.expected b/src/test/correct/jumptable/clang/jumptable.expected index 52b6ae5e7..95efbc4f8 100644 --- a/src/test/correct/jumptable/clang/jumptable.expected +++ b/src/test/correct/jumptable/clang/jumptable.expected @@ -80,9 +80,68 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2052bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2054bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 124bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69040bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69041bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69042bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69043bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69044bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69045bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69046bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69047bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 104bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 144bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -100,58 +159,6 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_V0, Gamma_stack, R0, R29, R30, R31, R8, V0, stack; - free requires (memory_load8_le(mem, 2052bv64) == 1bv8); - free requires (memory_load8_le(mem, 2053bv64) == 0bv8); - free requires (memory_load8_le(mem, 2054bv64) == 2bv8); - free requires (memory_load8_le(mem, 2055bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 144bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); free requires (memory_load8_le(mem, 69664bv64) == 0bv8); free requires (memory_load8_le(mem, 69665bv64) == 0bv8); free requires (memory_load8_le(mem, 69666bv64) == 0bv8); @@ -172,10 +179,130 @@ procedure main() free requires (memory_load8_le(mem, 69681bv64) == 0bv8); free requires (memory_load8_le(mem, 69682bv64) == 0bv8); free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 2052bv64) == 1bv8); + free requires (memory_load8_le(mem, 2053bv64) == 0bv8); + free requires (memory_load8_le(mem, 2054bv64) == 2bv8); + free requires (memory_load8_le(mem, 2055bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69048bv64) == 0bv8); + free requires (memory_load8_le(mem, 69049bv64) == 7bv8); + free requires (memory_load8_le(mem, 69050bv64) == 0bv8); + free requires (memory_load8_le(mem, 69051bv64) == 0bv8); + free requires (memory_load8_le(mem, 69052bv64) == 0bv8); + free requires (memory_load8_le(mem, 69053bv64) == 0bv8); + free requires (memory_load8_le(mem, 69054bv64) == 0bv8); + free requires (memory_load8_le(mem, 69055bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 124bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69040bv64) == 80bv8); + free requires (memory_load8_le(mem, 69041bv64) == 7bv8); + free requires (memory_load8_le(mem, 69042bv64) == 0bv8); + free requires (memory_load8_le(mem, 69043bv64) == 0bv8); + free requires (memory_load8_le(mem, 69044bv64) == 0bv8); + free requires (memory_load8_le(mem, 69045bv64) == 0bv8); + free requires (memory_load8_le(mem, 69046bv64) == 0bv8); + free requires (memory_load8_le(mem, 69047bv64) == 0bv8); + free requires (memory_load8_le(mem, 69056bv64) == 84bv8); + free requires (memory_load8_le(mem, 69057bv64) == 7bv8); + free requires (memory_load8_le(mem, 69058bv64) == 0bv8); + free requires (memory_load8_le(mem, 69059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69060bv64) == 0bv8); + free requires (memory_load8_le(mem, 69061bv64) == 0bv8); + free requires (memory_load8_le(mem, 69062bv64) == 0bv8); + free requires (memory_load8_le(mem, 69063bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 104bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 144bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2052bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2054bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 124bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69040bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69041bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69042bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69043bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69044bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69045bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69046bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69047bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 104bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 144bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); { var #5: bv64; var #6: bv64; diff --git a/src/test/correct/jumptable/clang_O2/jumptable.expected b/src/test/correct/jumptable/clang_O2/jumptable.expected index a5c8fcf0c..575b068a0 100644 --- a/src/test/correct/jumptable/clang_O2/jumptable.expected +++ b/src/test/correct/jumptable/clang_O2/jumptable.expected @@ -39,9 +39,44 @@ function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1916bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1917bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1918bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1919bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -59,58 +94,6 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R8, Gamma_R9, Gamma_mem, R0, R8, R9, mem; - free requires (memory_load8_le(mem, 1916bv64) == 1bv8); - free requires (memory_load8_le(mem, 1917bv64) == 0bv8); - free requires (memory_load8_le(mem, 1918bv64) == 2bv8); - free requires (memory_load8_le(mem, 1919bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 80bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); free requires (memory_load8_le(mem, 69664bv64) == 0bv8); free requires (memory_load8_le(mem, 69665bv64) == 0bv8); free requires (memory_load8_le(mem, 69666bv64) == 0bv8); @@ -131,6 +114,78 @@ procedure main() free requires (memory_load8_le(mem, 69681bv64) == 0bv8); free requires (memory_load8_le(mem, 69682bv64) == 0bv8); free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 1916bv64) == 1bv8); + free requires (memory_load8_le(mem, 1917bv64) == 0bv8); + free requires (memory_load8_le(mem, 1918bv64) == 2bv8); + free requires (memory_load8_le(mem, 1919bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 80bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1916bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1917bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1918bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1919bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { lmain: R8, Gamma_R8 := 69632bv64, true; diff --git a/src/test/correct/jumptable/clang_no_plt_no_pic/jumptable.expected b/src/test/correct/jumptable/clang_no_plt_no_pic/jumptable.expected index a2dad4daa..8ec34f2ed 100644 --- a/src/test/correct/jumptable/clang_no_plt_no_pic/jumptable.expected +++ b/src/test/correct/jumptable/clang_no_plt_no_pic/jumptable.expected @@ -80,9 +80,96 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2056bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2057bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2058bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2063bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2064bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 2066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2072bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 2074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2080bv64) == 124bv8); + free ensures (memory_load8_le(mem, 2081bv64) == 7bv8); + free ensures (memory_load8_le(mem, 2082bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2083bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2084bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2085bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2086bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2087bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2072bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 2074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2080bv64) == 124bv8); + free ensures (memory_load8_le(mem, 2081bv64) == 7bv8); + free ensures (memory_load8_le(mem, 2082bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2083bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2084bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2085bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2086bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2087bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2064bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 2066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69040bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69041bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69042bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69043bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69044bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69045bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69046bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69047bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 144bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69032bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69033bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69034bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69035bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69036bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69037bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69038bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69039bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -100,6 +187,26 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_V0, Gamma_stack, R0, R29, R30, R31, R8, V0, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 5bv8); + free requires (memory_load8_le(mem, 69681bv64) == 0bv8); + free requires (memory_load8_le(mem, 69682bv64) == 0bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); free requires (memory_load8_le(mem, 2056bv64) == 1bv8); free requires (memory_load8_le(mem, 2057bv64) == 0bv8); free requires (memory_load8_le(mem, 2058bv64) == 2bv8); @@ -132,62 +239,14 @@ procedure main() free requires (memory_load8_le(mem, 2085bv64) == 0bv8); free requires (memory_load8_le(mem, 2086bv64) == 0bv8); free requires (memory_load8_le(mem, 2087bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 184bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 144bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 2072bv64) == 104bv8); + free requires (memory_load8_le(mem, 2073bv64) == 7bv8); + free requires (memory_load8_le(mem, 2074bv64) == 0bv8); + free requires (memory_load8_le(mem, 2075bv64) == 0bv8); + free requires (memory_load8_le(mem, 2076bv64) == 0bv8); + free requires (memory_load8_le(mem, 2077bv64) == 0bv8); + free requires (memory_load8_le(mem, 2078bv64) == 0bv8); + free requires (memory_load8_le(mem, 2079bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -196,14 +255,138 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free requires (memory_load8_le(mem, 69680bv64) == 5bv8); - free requires (memory_load8_le(mem, 69681bv64) == 0bv8); - free requires (memory_load8_le(mem, 69682bv64) == 0bv8); - free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 2080bv64) == 124bv8); + free requires (memory_load8_le(mem, 2081bv64) == 7bv8); + free requires (memory_load8_le(mem, 2082bv64) == 0bv8); + free requires (memory_load8_le(mem, 2083bv64) == 0bv8); + free requires (memory_load8_le(mem, 2084bv64) == 0bv8); + free requires (memory_load8_le(mem, 2085bv64) == 0bv8); + free requires (memory_load8_le(mem, 2086bv64) == 0bv8); + free requires (memory_load8_le(mem, 2087bv64) == 0bv8); + free requires (memory_load8_le(mem, 2064bv64) == 84bv8); + free requires (memory_load8_le(mem, 2065bv64) == 7bv8); + free requires (memory_load8_le(mem, 2066bv64) == 0bv8); + free requires (memory_load8_le(mem, 2067bv64) == 0bv8); + free requires (memory_load8_le(mem, 2068bv64) == 0bv8); + free requires (memory_load8_le(mem, 2069bv64) == 0bv8); + free requires (memory_load8_le(mem, 2070bv64) == 0bv8); + free requires (memory_load8_le(mem, 2071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69040bv64) == 0bv8); + free requires (memory_load8_le(mem, 69041bv64) == 7bv8); + free requires (memory_load8_le(mem, 69042bv64) == 0bv8); + free requires (memory_load8_le(mem, 69043bv64) == 0bv8); + free requires (memory_load8_le(mem, 69044bv64) == 0bv8); + free requires (memory_load8_le(mem, 69045bv64) == 0bv8); + free requires (memory_load8_le(mem, 69046bv64) == 0bv8); + free requires (memory_load8_le(mem, 69047bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 144bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69032bv64) == 80bv8); + free requires (memory_load8_le(mem, 69033bv64) == 7bv8); + free requires (memory_load8_le(mem, 69034bv64) == 0bv8); + free requires (memory_load8_le(mem, 69035bv64) == 0bv8); + free requires (memory_load8_le(mem, 69036bv64) == 0bv8); + free requires (memory_load8_le(mem, 69037bv64) == 0bv8); + free requires (memory_load8_le(mem, 69038bv64) == 0bv8); + free requires (memory_load8_le(mem, 69039bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2056bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2057bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2058bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2063bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2064bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 2066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2072bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 2074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2080bv64) == 124bv8); + free ensures (memory_load8_le(mem, 2081bv64) == 7bv8); + free ensures (memory_load8_le(mem, 2082bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2083bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2084bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2085bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2086bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2087bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2072bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 2074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2080bv64) == 124bv8); + free ensures (memory_load8_le(mem, 2081bv64) == 7bv8); + free ensures (memory_load8_le(mem, 2082bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2083bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2084bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2085bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2086bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2087bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2064bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 2066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69040bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69041bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69042bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69043bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69044bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69045bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69046bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69047bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 144bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69032bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69033bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69034bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69035bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69036bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69037bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69038bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69039bv64) == 0bv8); { var #5: bv64; var #6: bv64; diff --git a/src/test/correct/jumptable/clang_pic/jumptable.expected b/src/test/correct/jumptable/clang_pic/jumptable.expected index e1d48da23..68110eaaa 100644 --- a/src/test/correct/jumptable/clang_pic/jumptable.expected +++ b/src/test/correct/jumptable/clang_pic/jumptable.expected @@ -80,9 +80,76 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2128bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2129bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2130bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2131bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69576bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69577bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69578bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69579bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69580bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69581bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69582bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69583bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 148bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69040bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69041bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69042bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69043bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69044bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69045bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69046bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69047bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69032bv64) == 144bv8); + free ensures (memory_load8_le(mem, 69033bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69034bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69035bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69036bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69037bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69038bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69039bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 172bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 196bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 220bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -100,66 +167,6 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_V0, Gamma_stack, R0, R29, R30, R31, R8, V0, stack; - free requires (memory_load8_le(mem, 2128bv64) == 1bv8); - free requires (memory_load8_le(mem, 2129bv64) == 0bv8); - free requires (memory_load8_le(mem, 2130bv64) == 2bv8); - free requires (memory_load8_le(mem, 2131bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 13bv8); - free requires (memory_load8_le(mem, 69554bv64) == 1bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 0bv8); - free requires (memory_load8_le(mem, 69561bv64) == 0bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 48bv8); - free requires (memory_load8_le(mem, 69577bv64) == 16bv8); - free requires (memory_load8_le(mem, 69578bv64) == 1bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 220bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); free requires (memory_load8_le(mem, 69664bv64) == 0bv8); free requires (memory_load8_le(mem, 69665bv64) == 0bv8); free requires (memory_load8_le(mem, 69666bv64) == 0bv8); @@ -180,10 +187,146 @@ procedure main() free requires (memory_load8_le(mem, 69681bv64) == 0bv8); free requires (memory_load8_le(mem, 69682bv64) == 0bv8); free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 2128bv64) == 1bv8); + free requires (memory_load8_le(mem, 2129bv64) == 0bv8); + free requires (memory_load8_le(mem, 2130bv64) == 2bv8); + free requires (memory_load8_le(mem, 2131bv64) == 0bv8); + free requires (memory_load8_le(mem, 69576bv64) == 48bv8); + free requires (memory_load8_le(mem, 69577bv64) == 16bv8); + free requires (memory_load8_le(mem, 69578bv64) == 1bv8); + free requires (memory_load8_le(mem, 69579bv64) == 0bv8); + free requires (memory_load8_le(mem, 69580bv64) == 0bv8); + free requires (memory_load8_le(mem, 69581bv64) == 0bv8); + free requires (memory_load8_le(mem, 69582bv64) == 0bv8); + free requires (memory_load8_le(mem, 69583bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69048bv64) == 148bv8); + free requires (memory_load8_le(mem, 69049bv64) == 7bv8); + free requires (memory_load8_le(mem, 69050bv64) == 0bv8); + free requires (memory_load8_le(mem, 69051bv64) == 0bv8); + free requires (memory_load8_le(mem, 69052bv64) == 0bv8); + free requires (memory_load8_le(mem, 69053bv64) == 0bv8); + free requires (memory_load8_le(mem, 69054bv64) == 0bv8); + free requires (memory_load8_le(mem, 69055bv64) == 0bv8); + free requires (memory_load8_le(mem, 69040bv64) == 64bv8); + free requires (memory_load8_le(mem, 69041bv64) == 7bv8); + free requires (memory_load8_le(mem, 69042bv64) == 0bv8); + free requires (memory_load8_le(mem, 69043bv64) == 0bv8); + free requires (memory_load8_le(mem, 69044bv64) == 0bv8); + free requires (memory_load8_le(mem, 69045bv64) == 0bv8); + free requires (memory_load8_le(mem, 69046bv64) == 0bv8); + free requires (memory_load8_le(mem, 69047bv64) == 0bv8); + free requires (memory_load8_le(mem, 69032bv64) == 144bv8); + free requires (memory_load8_le(mem, 69033bv64) == 7bv8); + free requires (memory_load8_le(mem, 69034bv64) == 0bv8); + free requires (memory_load8_le(mem, 69035bv64) == 0bv8); + free requires (memory_load8_le(mem, 69036bv64) == 0bv8); + free requires (memory_load8_le(mem, 69037bv64) == 0bv8); + free requires (memory_load8_le(mem, 69038bv64) == 0bv8); + free requires (memory_load8_le(mem, 69039bv64) == 0bv8); + free requires (memory_load8_le(mem, 69056bv64) == 172bv8); + free requires (memory_load8_le(mem, 69057bv64) == 7bv8); + free requires (memory_load8_le(mem, 69058bv64) == 0bv8); + free requires (memory_load8_le(mem, 69059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69060bv64) == 0bv8); + free requires (memory_load8_le(mem, 69061bv64) == 0bv8); + free requires (memory_load8_le(mem, 69062bv64) == 0bv8); + free requires (memory_load8_le(mem, 69063bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 196bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 220bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2128bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2129bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2130bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2131bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69576bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69577bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69578bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69579bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69580bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69581bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69582bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69583bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 148bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69040bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69041bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69042bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69043bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69044bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69045bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69046bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69047bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69032bv64) == 144bv8); + free ensures (memory_load8_le(mem, 69033bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69034bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69035bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69036bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69037bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69038bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69039bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 172bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 196bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 220bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); { var #5: bv64; var #6: bv64; diff --git a/src/test/correct/jumptable/gcc/jumptable.expected b/src/test/correct/jumptable/gcc/jumptable.expected index 8d0493027..0398d8deb 100644 --- a/src/test/correct/jumptable/gcc/jumptable.expected +++ b/src/test/correct/jumptable/gcc/jumptable.expected @@ -64,9 +64,68 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_64(bv64) returns (bv65); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2404bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2407bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69656bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69657bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69658bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69659bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69660bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69661bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69662bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69663bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69664bv64) == 120bv8); + free ensures (memory_load8_le(mem, 69665bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69666bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69667bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69668bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69669bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69670bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69671bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68984bv64) == 80bv8); + free ensures (memory_load8_le(mem, 68985bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68986bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68987bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68988bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68989bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68990bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68991bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 156bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -83,117 +142,10 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure __stack_chk_fail(); - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R2, Gamma_R29, Gamma_R3, Gamma_R30, Gamma_R31, Gamma_stack, R0, R1, R2, R29, R3, R30, R31, stack; free requires (memory_load8_le(mem, 2404bv64) == 1bv8); free requires (memory_load8_le(mem, 2405bv64) == 0bv8); free requires (memory_load8_le(mem, 2406bv64) == 2bv8); free requires (memory_load8_le(mem, 2407bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 160bv8); - free requires (memory_load8_le(mem, 69537bv64) == 6bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 160bv8); - free requires (memory_load8_le(mem, 69545bv64) == 6bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 6bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 6bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 6bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 136bv8); - free requires (memory_load8_le(mem, 69577bv64) == 13bv8); - free requires (memory_load8_le(mem, 69578bv64) == 1bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 192bv8); free requires (memory_load8_le(mem, 69617bv64) == 8bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -202,14 +154,117 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69656bv64) == 84bv8); + free requires (memory_load8_le(mem, 69657bv64) == 8bv8); + free requires (memory_load8_le(mem, 69658bv64) == 0bv8); + free requires (memory_load8_le(mem, 69659bv64) == 0bv8); + free requires (memory_load8_le(mem, 69660bv64) == 0bv8); + free requires (memory_load8_le(mem, 69661bv64) == 0bv8); + free requires (memory_load8_le(mem, 69662bv64) == 0bv8); + free requires (memory_load8_le(mem, 69663bv64) == 0bv8); + free requires (memory_load8_le(mem, 69664bv64) == 120bv8); + free requires (memory_load8_le(mem, 69665bv64) == 8bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 68984bv64) == 80bv8); + free requires (memory_load8_le(mem, 68985bv64) == 8bv8); + free requires (memory_load8_le(mem, 68986bv64) == 0bv8); + free requires (memory_load8_le(mem, 68987bv64) == 0bv8); + free requires (memory_load8_le(mem, 68988bv64) == 0bv8); + free requires (memory_load8_le(mem, 68989bv64) == 0bv8); + free requires (memory_load8_le(mem, 68990bv64) == 0bv8); + free requires (memory_load8_le(mem, 68991bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 0bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 156bv8); + free requires (memory_load8_le(mem, 69673bv64) == 8bv8); + free requires (memory_load8_le(mem, 69674bv64) == 0bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2407bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69656bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69657bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69658bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69659bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69660bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69661bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69662bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69663bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69664bv64) == 120bv8); + free ensures (memory_load8_le(mem, 69665bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69666bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69667bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69668bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69669bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69670bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69671bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68984bv64) == 80bv8); + free ensures (memory_load8_le(mem, 68985bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68986bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68987bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68988bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68989bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68990bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68991bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 156bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R2, Gamma_R29, Gamma_R3, Gamma_R30, Gamma_R31, Gamma_stack, R0, R1, R2, R29, R3, R30, R31, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -258,10 +313,130 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 2404bv64) == 1bv8); + free requires (memory_load8_le(mem, 2405bv64) == 0bv8); + free requires (memory_load8_le(mem, 2406bv64) == 2bv8); + free requires (memory_load8_le(mem, 2407bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 192bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69656bv64) == 84bv8); + free requires (memory_load8_le(mem, 69657bv64) == 8bv8); + free requires (memory_load8_le(mem, 69658bv64) == 0bv8); + free requires (memory_load8_le(mem, 69659bv64) == 0bv8); + free requires (memory_load8_le(mem, 69660bv64) == 0bv8); + free requires (memory_load8_le(mem, 69661bv64) == 0bv8); + free requires (memory_load8_le(mem, 69662bv64) == 0bv8); + free requires (memory_load8_le(mem, 69663bv64) == 0bv8); + free requires (memory_load8_le(mem, 69664bv64) == 120bv8); + free requires (memory_load8_le(mem, 69665bv64) == 8bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 68984bv64) == 80bv8); + free requires (memory_load8_le(mem, 68985bv64) == 8bv8); + free requires (memory_load8_le(mem, 68986bv64) == 0bv8); + free requires (memory_load8_le(mem, 68987bv64) == 0bv8); + free requires (memory_load8_le(mem, 68988bv64) == 0bv8); + free requires (memory_load8_le(mem, 68989bv64) == 0bv8); + free requires (memory_load8_le(mem, 68990bv64) == 0bv8); + free requires (memory_load8_le(mem, 68991bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 0bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 156bv8); + free requires (memory_load8_le(mem, 69673bv64) == 8bv8); + free requires (memory_load8_le(mem, 69674bv64) == 0bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2404bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2407bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69656bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69657bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69658bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69659bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69660bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69661bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69662bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69663bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69664bv64) == 120bv8); + free ensures (memory_load8_le(mem, 69665bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69666bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69667bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69668bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69669bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69670bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69671bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68984bv64) == 80bv8); + free ensures (memory_load8_le(mem, 68985bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68986bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68987bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68988bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68989bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68990bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68991bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 156bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var #5: bv64; diff --git a/src/test/correct/jumptable/gcc_O2/jumptable.expected b/src/test/correct/jumptable/gcc_O2/jumptable.expected index 283b8b1a2..9d49efc92 100644 --- a/src/test/correct/jumptable/gcc_O2/jumptable.expected +++ b/src/test/correct/jumptable/gcc_O2/jumptable.expected @@ -61,9 +61,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1976bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1977bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1978bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1979bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -81,6 +116,78 @@ procedure guarantee_reflexive(); procedure add_six() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; + free requires (memory_load8_le(mem, 1976bv64) == 1bv8); + free requires (memory_load8_le(mem, 1977bv64) == 0bv8); + free requires (memory_load8_le(mem, 1978bv64) == 2bv8); + free requires (memory_load8_le(mem, 1979bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 80bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 0bv8); + free requires (memory_load8_le(mem, 69025bv64) == 7bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 0bv8); + free requires (memory_load8_le(mem, 69617bv64) == 6bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1976bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1977bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1978bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1979bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { ladd_six: R1, Gamma_R1 := 69632bv64, true; @@ -94,6 +201,78 @@ procedure add_six() procedure add_two() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; + free requires (memory_load8_le(mem, 1976bv64) == 1bv8); + free requires (memory_load8_le(mem, 1977bv64) == 0bv8); + free requires (memory_load8_le(mem, 1978bv64) == 2bv8); + free requires (memory_load8_le(mem, 1979bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 80bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 0bv8); + free requires (memory_load8_le(mem, 69025bv64) == 7bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 0bv8); + free requires (memory_load8_le(mem, 69617bv64) == 6bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1976bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1977bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1978bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1979bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { ladd_two: R1, Gamma_R1 := 69632bv64, true; @@ -107,114 +286,6 @@ procedure add_two() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, mem, stack; - free requires (memory_load8_le(mem, 1976bv64) == 1bv8); - free requires (memory_load8_le(mem, 1977bv64) == 0bv8); - free requires (memory_load8_le(mem, 1978bv64) == 2bv8); - free requires (memory_load8_le(mem, 1979bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 0bv8); - free requires (memory_load8_le(mem, 69617bv64) == 6bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -235,10 +306,82 @@ procedure main() free requires (memory_load8_le(mem, 69649bv64) == 0bv8); free requires (memory_load8_le(mem, 69650bv64) == 0bv8); free requires (memory_load8_le(mem, 69651bv64) == 0bv8); + free requires (memory_load8_le(mem, 1976bv64) == 1bv8); + free requires (memory_load8_le(mem, 1977bv64) == 0bv8); + free requires (memory_load8_le(mem, 1978bv64) == 2bv8); + free requires (memory_load8_le(mem, 1979bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 80bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 0bv8); + free requires (memory_load8_le(mem, 69025bv64) == 7bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 0bv8); + free requires (memory_load8_le(mem, 69617bv64) == 6bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1976bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1977bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1978bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1979bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #1: bv64; var Gamma_#1: bool; @@ -269,6 +412,78 @@ procedure main() procedure sub_seven() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; + free requires (memory_load8_le(mem, 1976bv64) == 1bv8); + free requires (memory_load8_le(mem, 1977bv64) == 0bv8); + free requires (memory_load8_le(mem, 1978bv64) == 2bv8); + free requires (memory_load8_le(mem, 1979bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 80bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 0bv8); + free requires (memory_load8_le(mem, 69025bv64) == 7bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 0bv8); + free requires (memory_load8_le(mem, 69617bv64) == 6bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1976bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1977bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1978bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1979bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lsub_seven: R1, Gamma_R1 := 69632bv64, true; diff --git a/src/test/correct/jumptable/gcc_pic/jumptable.expected b/src/test/correct/jumptable/gcc_pic/jumptable.expected index 4773db00b..74a8c6c42 100644 --- a/src/test/correct/jumptable/gcc_pic/jumptable.expected +++ b/src/test/correct/jumptable/gcc_pic/jumptable.expected @@ -64,9 +64,76 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_64(bv64) returns (bv65); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2404bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2407bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68976bv64) == 80bv8); + free ensures (memory_load8_le(mem, 68977bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68978bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68979bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68980bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68981bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68982bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68983bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69656bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69657bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69658bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69659bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69660bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69661bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69662bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69663bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69664bv64) == 120bv8); + free ensures (memory_load8_le(mem, 69665bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69666bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69667bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69668bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69669bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69670bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69671bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 156bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68984bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68985bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68986bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68987bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68988bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68989bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68990bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68991bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -83,125 +150,18 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure __stack_chk_fail(); - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R2, Gamma_R29, Gamma_R3, Gamma_R30, Gamma_R31, Gamma_stack, R0, R1, R2, R29, R3, R30, R31, stack; free requires (memory_load8_le(mem, 2404bv64) == 1bv8); free requires (memory_load8_le(mem, 2405bv64) == 0bv8); free requires (memory_load8_le(mem, 2406bv64) == 2bv8); free requires (memory_load8_le(mem, 2407bv64) == 0bv8); - free requires (memory_load8_le(mem, 69504bv64) == 0bv8); - free requires (memory_load8_le(mem, 69505bv64) == 0bv8); - free requires (memory_load8_le(mem, 69506bv64) == 0bv8); - free requires (memory_load8_le(mem, 69507bv64) == 0bv8); - free requires (memory_load8_le(mem, 69508bv64) == 0bv8); - free requires (memory_load8_le(mem, 69509bv64) == 0bv8); - free requires (memory_load8_le(mem, 69510bv64) == 0bv8); - free requires (memory_load8_le(mem, 69511bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 192bv8); - free requires (memory_load8_le(mem, 69529bv64) == 6bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 192bv8); - free requires (memory_load8_le(mem, 69537bv64) == 6bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 192bv8); - free requires (memory_load8_le(mem, 69545bv64) == 6bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 192bv8); - free requires (memory_load8_le(mem, 69553bv64) == 6bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 192bv8); - free requires (memory_load8_le(mem, 69561bv64) == 6bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 128bv8); - free requires (memory_load8_le(mem, 69569bv64) == 13bv8); - free requires (memory_load8_le(mem, 69570bv64) == 1bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 16bv8); - free requires (memory_load8_le(mem, 69593bv64) == 16bv8); - free requires (memory_load8_le(mem, 69594bv64) == 1bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 68976bv64) == 80bv8); + free requires (memory_load8_le(mem, 68977bv64) == 8bv8); + free requires (memory_load8_le(mem, 68978bv64) == 0bv8); + free requires (memory_load8_le(mem, 68979bv64) == 0bv8); + free requires (memory_load8_le(mem, 68980bv64) == 0bv8); + free requires (memory_load8_le(mem, 68981bv64) == 0bv8); + free requires (memory_load8_le(mem, 68982bv64) == 0bv8); + free requires (memory_load8_le(mem, 68983bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 192bv8); free requires (memory_load8_le(mem, 69617bv64) == 8bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -210,14 +170,125 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69656bv64) == 84bv8); + free requires (memory_load8_le(mem, 69657bv64) == 8bv8); + free requires (memory_load8_le(mem, 69658bv64) == 0bv8); + free requires (memory_load8_le(mem, 69659bv64) == 0bv8); + free requires (memory_load8_le(mem, 69660bv64) == 0bv8); + free requires (memory_load8_le(mem, 69661bv64) == 0bv8); + free requires (memory_load8_le(mem, 69662bv64) == 0bv8); + free requires (memory_load8_le(mem, 69663bv64) == 0bv8); + free requires (memory_load8_le(mem, 69664bv64) == 120bv8); + free requires (memory_load8_le(mem, 69665bv64) == 8bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 156bv8); + free requires (memory_load8_le(mem, 69673bv64) == 8bv8); + free requires (memory_load8_le(mem, 69674bv64) == 0bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 68984bv64) == 0bv8); + free requires (memory_load8_le(mem, 68985bv64) == 8bv8); + free requires (memory_load8_le(mem, 68986bv64) == 0bv8); + free requires (memory_load8_le(mem, 68987bv64) == 0bv8); + free requires (memory_load8_le(mem, 68988bv64) == 0bv8); + free requires (memory_load8_le(mem, 68989bv64) == 0bv8); + free requires (memory_load8_le(mem, 68990bv64) == 0bv8); + free requires (memory_load8_le(mem, 68991bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 16bv8); + free requires (memory_load8_le(mem, 69593bv64) == 16bv8); + free requires (memory_load8_le(mem, 69594bv64) == 1bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2407bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68976bv64) == 80bv8); + free ensures (memory_load8_le(mem, 68977bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68978bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68979bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68980bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68981bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68982bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68983bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69656bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69657bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69658bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69659bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69660bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69661bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69662bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69663bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69664bv64) == 120bv8); + free ensures (memory_load8_le(mem, 69665bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69666bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69667bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69668bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69669bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69670bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69671bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 156bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68984bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68985bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68986bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68987bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68988bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68989bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68990bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68991bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R2, Gamma_R29, Gamma_R3, Gamma_R30, Gamma_R31, Gamma_stack, R0, R1, R2, R29, R3, R30, R31, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -266,10 +337,146 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 2404bv64) == 1bv8); + free requires (memory_load8_le(mem, 2405bv64) == 0bv8); + free requires (memory_load8_le(mem, 2406bv64) == 2bv8); + free requires (memory_load8_le(mem, 2407bv64) == 0bv8); + free requires (memory_load8_le(mem, 68976bv64) == 80bv8); + free requires (memory_load8_le(mem, 68977bv64) == 8bv8); + free requires (memory_load8_le(mem, 68978bv64) == 0bv8); + free requires (memory_load8_le(mem, 68979bv64) == 0bv8); + free requires (memory_load8_le(mem, 68980bv64) == 0bv8); + free requires (memory_load8_le(mem, 68981bv64) == 0bv8); + free requires (memory_load8_le(mem, 68982bv64) == 0bv8); + free requires (memory_load8_le(mem, 68983bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 192bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69656bv64) == 84bv8); + free requires (memory_load8_le(mem, 69657bv64) == 8bv8); + free requires (memory_load8_le(mem, 69658bv64) == 0bv8); + free requires (memory_load8_le(mem, 69659bv64) == 0bv8); + free requires (memory_load8_le(mem, 69660bv64) == 0bv8); + free requires (memory_load8_le(mem, 69661bv64) == 0bv8); + free requires (memory_load8_le(mem, 69662bv64) == 0bv8); + free requires (memory_load8_le(mem, 69663bv64) == 0bv8); + free requires (memory_load8_le(mem, 69664bv64) == 120bv8); + free requires (memory_load8_le(mem, 69665bv64) == 8bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 156bv8); + free requires (memory_load8_le(mem, 69673bv64) == 8bv8); + free requires (memory_load8_le(mem, 69674bv64) == 0bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 68984bv64) == 0bv8); + free requires (memory_load8_le(mem, 68985bv64) == 8bv8); + free requires (memory_load8_le(mem, 68986bv64) == 0bv8); + free requires (memory_load8_le(mem, 68987bv64) == 0bv8); + free requires (memory_load8_le(mem, 68988bv64) == 0bv8); + free requires (memory_load8_le(mem, 68989bv64) == 0bv8); + free requires (memory_load8_le(mem, 68990bv64) == 0bv8); + free requires (memory_load8_le(mem, 68991bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 16bv8); + free requires (memory_load8_le(mem, 69593bv64) == 16bv8); + free requires (memory_load8_le(mem, 69594bv64) == 1bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2404bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2407bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68976bv64) == 80bv8); + free ensures (memory_load8_le(mem, 68977bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68978bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68979bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68980bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68981bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68982bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68983bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69656bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69657bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69658bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69659bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69660bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69661bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69662bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69663bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69664bv64) == 120bv8); + free ensures (memory_load8_le(mem, 69665bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69666bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69667bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69668bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69669bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69670bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69671bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 156bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68984bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68985bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68986bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68987bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68988bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68989bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68990bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68991bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); { var #4: bv64; var #5: bv64; diff --git a/src/test/correct/jumptable2/clang/jumptable2.expected b/src/test/correct/jumptable2/clang/jumptable2.expected index 76fd0a69d..6433377fb 100644 --- a/src/test/correct/jumptable2/clang/jumptable2.expected +++ b/src/test/correct/jumptable2/clang/jumptable2.expected @@ -66,9 +66,68 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2052bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2054bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69688bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69689bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69690bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69691bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69692bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69693bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69694bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69695bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69704bv64) == 124bv8); + free ensures (memory_load8_le(mem, 69705bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69706bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69707bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69708bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69709bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69710bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69711bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 104bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 144bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -86,58 +145,6 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_stack, R0, R29, R30, R31, R8, R9, stack; - free requires (memory_load8_le(mem, 2052bv64) == 1bv8); - free requires (memory_load8_le(mem, 2053bv64) == 0bv8); - free requires (memory_load8_le(mem, 2054bv64) == 2bv8); - free requires (memory_load8_le(mem, 2055bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 144bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); free requires (memory_load8_le(mem, 69664bv64) == 0bv8); free requires (memory_load8_le(mem, 69665bv64) == 0bv8); free requires (memory_load8_le(mem, 69666bv64) == 0bv8); @@ -186,10 +193,130 @@ procedure main() free requires (memory_load8_le(mem, 69709bv64) == 0bv8); free requires (memory_load8_le(mem, 69710bv64) == 0bv8); free requires (memory_load8_le(mem, 69711bv64) == 0bv8); + free requires (memory_load8_le(mem, 2052bv64) == 1bv8); + free requires (memory_load8_le(mem, 2053bv64) == 0bv8); + free requires (memory_load8_le(mem, 2054bv64) == 2bv8); + free requires (memory_load8_le(mem, 2055bv64) == 0bv8); + free requires (memory_load8_le(mem, 69688bv64) == 84bv8); + free requires (memory_load8_le(mem, 69689bv64) == 7bv8); + free requires (memory_load8_le(mem, 69690bv64) == 0bv8); + free requires (memory_load8_le(mem, 69691bv64) == 0bv8); + free requires (memory_load8_le(mem, 69692bv64) == 0bv8); + free requires (memory_load8_le(mem, 69693bv64) == 0bv8); + free requires (memory_load8_le(mem, 69694bv64) == 0bv8); + free requires (memory_load8_le(mem, 69695bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69704bv64) == 124bv8); + free requires (memory_load8_le(mem, 69705bv64) == 7bv8); + free requires (memory_load8_le(mem, 69706bv64) == 0bv8); + free requires (memory_load8_le(mem, 69707bv64) == 0bv8); + free requires (memory_load8_le(mem, 69708bv64) == 0bv8); + free requires (memory_load8_le(mem, 69709bv64) == 0bv8); + free requires (memory_load8_le(mem, 69710bv64) == 0bv8); + free requires (memory_load8_le(mem, 69711bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 104bv8); + free requires (memory_load8_le(mem, 69697bv64) == 7bv8); + free requires (memory_load8_le(mem, 69698bv64) == 0bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 144bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2052bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2054bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69688bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69689bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69690bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69691bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69692bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69693bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69694bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69695bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69704bv64) == 124bv8); + free ensures (memory_load8_le(mem, 69705bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69706bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69707bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69708bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69709bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69710bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69711bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 104bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 144bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); { var #5: bv64; var #6: bv64; diff --git a/src/test/correct/jumptable2/clang_O2/jumptable2.expected b/src/test/correct/jumptable2/clang_O2/jumptable2.expected index c6727da8d..02a2aba42 100644 --- a/src/test/correct/jumptable2/clang_O2/jumptable2.expected +++ b/src/test/correct/jumptable2/clang_O2/jumptable2.expected @@ -47,9 +47,68 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2016bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2017bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2018bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69688bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69689bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69690bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69691bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69692bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69693bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69694bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69695bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69704bv64) == 124bv8); + free ensures (memory_load8_le(mem, 69705bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69706bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69707bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69708bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69709bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69710bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69711bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 104bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 144bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -67,58 +126,6 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R19, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_stack, R0, R19, R29, R30, R31, R8, stack; - free requires (memory_load8_le(mem, 2016bv64) == 1bv8); - free requires (memory_load8_le(mem, 2017bv64) == 0bv8); - free requires (memory_load8_le(mem, 2018bv64) == 2bv8); - free requires (memory_load8_le(mem, 2019bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 144bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); free requires (memory_load8_le(mem, 69664bv64) == 0bv8); free requires (memory_load8_le(mem, 69665bv64) == 0bv8); free requires (memory_load8_le(mem, 69666bv64) == 0bv8); @@ -167,12 +174,132 @@ procedure main() free requires (memory_load8_le(mem, 69709bv64) == 0bv8); free requires (memory_load8_le(mem, 69710bv64) == 0bv8); free requires (memory_load8_le(mem, 69711bv64) == 0bv8); + free requires (memory_load8_le(mem, 2016bv64) == 1bv8); + free requires (memory_load8_le(mem, 2017bv64) == 0bv8); + free requires (memory_load8_le(mem, 2018bv64) == 2bv8); + free requires (memory_load8_le(mem, 2019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69688bv64) == 84bv8); + free requires (memory_load8_le(mem, 69689bv64) == 7bv8); + free requires (memory_load8_le(mem, 69690bv64) == 0bv8); + free requires (memory_load8_le(mem, 69691bv64) == 0bv8); + free requires (memory_load8_le(mem, 69692bv64) == 0bv8); + free requires (memory_load8_le(mem, 69693bv64) == 0bv8); + free requires (memory_load8_le(mem, 69694bv64) == 0bv8); + free requires (memory_load8_le(mem, 69695bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69704bv64) == 124bv8); + free requires (memory_load8_le(mem, 69705bv64) == 7bv8); + free requires (memory_load8_le(mem, 69706bv64) == 0bv8); + free requires (memory_load8_le(mem, 69707bv64) == 0bv8); + free requires (memory_load8_le(mem, 69708bv64) == 0bv8); + free requires (memory_load8_le(mem, 69709bv64) == 0bv8); + free requires (memory_load8_le(mem, 69710bv64) == 0bv8); + free requires (memory_load8_le(mem, 69711bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 104bv8); + free requires (memory_load8_le(mem, 69697bv64) == 7bv8); + free requires (memory_load8_le(mem, 69698bv64) == 0bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 144bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); free ensures (Gamma_R19 == old(Gamma_R19)); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R19 == old(R19)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2016bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2017bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2018bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69688bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69689bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69690bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69691bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69692bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69693bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69694bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69695bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69704bv64) == 124bv8); + free ensures (memory_load8_le(mem, 69705bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69706bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69707bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69708bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69709bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69710bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69711bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 104bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 144bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; diff --git a/src/test/correct/jumptable2/clang_no_plt_no_pic/jumptable2.expected b/src/test/correct/jumptable2/clang_no_plt_no_pic/jumptable2.expected index 48f5e0b22..09dc42157 100644 --- a/src/test/correct/jumptable2/clang_no_plt_no_pic/jumptable2.expected +++ b/src/test/correct/jumptable2/clang_no_plt_no_pic/jumptable2.expected @@ -66,9 +66,68 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2052bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2054bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69688bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69689bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69690bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69691bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69692bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69693bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69694bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69695bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69704bv64) == 124bv8); + free ensures (memory_load8_le(mem, 69705bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69706bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69707bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69708bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69709bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69710bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69711bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 104bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 144bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -86,58 +145,6 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_stack, R0, R29, R30, R31, R8, R9, stack; - free requires (memory_load8_le(mem, 2052bv64) == 1bv8); - free requires (memory_load8_le(mem, 2053bv64) == 0bv8); - free requires (memory_load8_le(mem, 2054bv64) == 2bv8); - free requires (memory_load8_le(mem, 2055bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 144bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); free requires (memory_load8_le(mem, 69664bv64) == 0bv8); free requires (memory_load8_le(mem, 69665bv64) == 0bv8); free requires (memory_load8_le(mem, 69666bv64) == 0bv8); @@ -186,10 +193,130 @@ procedure main() free requires (memory_load8_le(mem, 69709bv64) == 0bv8); free requires (memory_load8_le(mem, 69710bv64) == 0bv8); free requires (memory_load8_le(mem, 69711bv64) == 0bv8); + free requires (memory_load8_le(mem, 2052bv64) == 1bv8); + free requires (memory_load8_le(mem, 2053bv64) == 0bv8); + free requires (memory_load8_le(mem, 2054bv64) == 2bv8); + free requires (memory_load8_le(mem, 2055bv64) == 0bv8); + free requires (memory_load8_le(mem, 69688bv64) == 84bv8); + free requires (memory_load8_le(mem, 69689bv64) == 7bv8); + free requires (memory_load8_le(mem, 69690bv64) == 0bv8); + free requires (memory_load8_le(mem, 69691bv64) == 0bv8); + free requires (memory_load8_le(mem, 69692bv64) == 0bv8); + free requires (memory_load8_le(mem, 69693bv64) == 0bv8); + free requires (memory_load8_le(mem, 69694bv64) == 0bv8); + free requires (memory_load8_le(mem, 69695bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69704bv64) == 124bv8); + free requires (memory_load8_le(mem, 69705bv64) == 7bv8); + free requires (memory_load8_le(mem, 69706bv64) == 0bv8); + free requires (memory_load8_le(mem, 69707bv64) == 0bv8); + free requires (memory_load8_le(mem, 69708bv64) == 0bv8); + free requires (memory_load8_le(mem, 69709bv64) == 0bv8); + free requires (memory_load8_le(mem, 69710bv64) == 0bv8); + free requires (memory_load8_le(mem, 69711bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 104bv8); + free requires (memory_load8_le(mem, 69697bv64) == 7bv8); + free requires (memory_load8_le(mem, 69698bv64) == 0bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 144bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2052bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2054bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69688bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69689bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69690bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69691bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69692bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69693bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69694bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69695bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69704bv64) == 124bv8); + free ensures (memory_load8_le(mem, 69705bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69706bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69707bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69708bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69709bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69710bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69711bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 104bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 144bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); { var #5: bv64; var #6: bv64; diff --git a/src/test/correct/jumptable2/clang_pic/jumptable2.expected b/src/test/correct/jumptable2/clang_pic/jumptable2.expected index 006ab3efa..fab2b914a 100644 --- a/src/test/correct/jumptable2/clang_pic/jumptable2.expected +++ b/src/test/correct/jumptable2/clang_pic/jumptable2.expected @@ -66,9 +66,84 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2124bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2125bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2126bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2127bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69584bv64) == 220bv8); + free ensures (memory_load8_le(mem, 69585bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69586bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69688bv64) == 148bv8); + free ensures (memory_load8_le(mem, 69689bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69690bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69691bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69692bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69693bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69694bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69695bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 144bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69568bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69704bv64) == 196bv8); + free ensures (memory_load8_le(mem, 69705bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69706bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69707bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69708bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69709bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69710bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69711bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 172bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69600bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69601bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69602bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69603bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69604bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69605bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69606bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69607bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -86,74 +161,6 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_stack, R0, R29, R30, R31, R8, R9, stack; - free requires (memory_load8_le(mem, 2124bv64) == 1bv8); - free requires (memory_load8_le(mem, 2125bv64) == 0bv8); - free requires (memory_load8_le(mem, 2126bv64) == 2bv8); - free requires (memory_load8_le(mem, 2127bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 200bv8); - free requires (memory_load8_le(mem, 69545bv64) == 13bv8); - free requires (memory_load8_le(mem, 69546bv64) == 1bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 0bv8); - free requires (memory_load8_le(mem, 69553bv64) == 0bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 0bv8); - free requires (memory_load8_le(mem, 69561bv64) == 0bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 48bv8); - free requires (memory_load8_le(mem, 69569bv64) == 16bv8); - free requires (memory_load8_le(mem, 69570bv64) == 1bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 220bv8); - free requires (memory_load8_le(mem, 69585bv64) == 7bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 56bv8); - free requires (memory_load8_le(mem, 69601bv64) == 16bv8); - free requires (memory_load8_le(mem, 69602bv64) == 1bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); free requires (memory_load8_le(mem, 69664bv64) == 0bv8); free requires (memory_load8_le(mem, 69665bv64) == 0bv8); free requires (memory_load8_le(mem, 69666bv64) == 0bv8); @@ -202,10 +209,162 @@ procedure main() free requires (memory_load8_le(mem, 69709bv64) == 0bv8); free requires (memory_load8_le(mem, 69710bv64) == 0bv8); free requires (memory_load8_le(mem, 69711bv64) == 0bv8); + free requires (memory_load8_le(mem, 2124bv64) == 1bv8); + free requires (memory_load8_le(mem, 2125bv64) == 0bv8); + free requires (memory_load8_le(mem, 2126bv64) == 2bv8); + free requires (memory_load8_le(mem, 2127bv64) == 0bv8); + free requires (memory_load8_le(mem, 69584bv64) == 220bv8); + free requires (memory_load8_le(mem, 69585bv64) == 7bv8); + free requires (memory_load8_le(mem, 69586bv64) == 0bv8); + free requires (memory_load8_le(mem, 69587bv64) == 0bv8); + free requires (memory_load8_le(mem, 69588bv64) == 0bv8); + free requires (memory_load8_le(mem, 69589bv64) == 0bv8); + free requires (memory_load8_le(mem, 69590bv64) == 0bv8); + free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69688bv64) == 148bv8); + free requires (memory_load8_le(mem, 69689bv64) == 7bv8); + free requires (memory_load8_le(mem, 69690bv64) == 0bv8); + free requires (memory_load8_le(mem, 69691bv64) == 0bv8); + free requires (memory_load8_le(mem, 69692bv64) == 0bv8); + free requires (memory_load8_le(mem, 69693bv64) == 0bv8); + free requires (memory_load8_le(mem, 69694bv64) == 0bv8); + free requires (memory_load8_le(mem, 69695bv64) == 0bv8); + free requires (memory_load8_le(mem, 69048bv64) == 144bv8); + free requires (memory_load8_le(mem, 69049bv64) == 7bv8); + free requires (memory_load8_le(mem, 69050bv64) == 0bv8); + free requires (memory_load8_le(mem, 69051bv64) == 0bv8); + free requires (memory_load8_le(mem, 69052bv64) == 0bv8); + free requires (memory_load8_le(mem, 69053bv64) == 0bv8); + free requires (memory_load8_le(mem, 69054bv64) == 0bv8); + free requires (memory_load8_le(mem, 69055bv64) == 0bv8); + free requires (memory_load8_le(mem, 69568bv64) == 48bv8); + free requires (memory_load8_le(mem, 69569bv64) == 16bv8); + free requires (memory_load8_le(mem, 69570bv64) == 1bv8); + free requires (memory_load8_le(mem, 69571bv64) == 0bv8); + free requires (memory_load8_le(mem, 69572bv64) == 0bv8); + free requires (memory_load8_le(mem, 69573bv64) == 0bv8); + free requires (memory_load8_le(mem, 69574bv64) == 0bv8); + free requires (memory_load8_le(mem, 69575bv64) == 0bv8); + free requires (memory_load8_le(mem, 69056bv64) == 64bv8); + free requires (memory_load8_le(mem, 69057bv64) == 7bv8); + free requires (memory_load8_le(mem, 69058bv64) == 0bv8); + free requires (memory_load8_le(mem, 69059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69060bv64) == 0bv8); + free requires (memory_load8_le(mem, 69061bv64) == 0bv8); + free requires (memory_load8_le(mem, 69062bv64) == 0bv8); + free requires (memory_load8_le(mem, 69063bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69704bv64) == 196bv8); + free requires (memory_load8_le(mem, 69705bv64) == 7bv8); + free requires (memory_load8_le(mem, 69706bv64) == 0bv8); + free requires (memory_load8_le(mem, 69707bv64) == 0bv8); + free requires (memory_load8_le(mem, 69708bv64) == 0bv8); + free requires (memory_load8_le(mem, 69709bv64) == 0bv8); + free requires (memory_load8_le(mem, 69710bv64) == 0bv8); + free requires (memory_load8_le(mem, 69711bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 172bv8); + free requires (memory_load8_le(mem, 69697bv64) == 7bv8); + free requires (memory_load8_le(mem, 69698bv64) == 0bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free requires (memory_load8_le(mem, 69600bv64) == 56bv8); + free requires (memory_load8_le(mem, 69601bv64) == 16bv8); + free requires (memory_load8_le(mem, 69602bv64) == 1bv8); + free requires (memory_load8_le(mem, 69603bv64) == 0bv8); + free requires (memory_load8_le(mem, 69604bv64) == 0bv8); + free requires (memory_load8_le(mem, 69605bv64) == 0bv8); + free requires (memory_load8_le(mem, 69606bv64) == 0bv8); + free requires (memory_load8_le(mem, 69607bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2124bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2125bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2126bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2127bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69584bv64) == 220bv8); + free ensures (memory_load8_le(mem, 69585bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69586bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69688bv64) == 148bv8); + free ensures (memory_load8_le(mem, 69689bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69690bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69691bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69692bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69693bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69694bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69695bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 144bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69568bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69704bv64) == 196bv8); + free ensures (memory_load8_le(mem, 69705bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69706bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69707bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69708bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69709bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69710bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69711bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 172bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69600bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69601bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69602bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69603bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69604bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69605bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69606bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69607bv64) == 0bv8); { var #5: bv64; var #6: bv64; diff --git a/src/test/correct/jumptable2/gcc/jumptable2.expected b/src/test/correct/jumptable2/gcc/jumptable2.expected index 60084ebdf..dc5806203 100644 --- a/src/test/correct/jumptable2/gcc/jumptable2.expected +++ b/src/test/correct/jumptable2/gcc/jumptable2.expected @@ -53,9 +53,68 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2080bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2081bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2082bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2083bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69656bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69657bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69658bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69659bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69660bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69661bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69662bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69663bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69664bv64) == 120bv8); + free ensures (memory_load8_le(mem, 69665bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69666bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69667bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69668bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69669bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69670bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69671bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 156bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -73,114 +132,6 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R29, R30, R31, stack; - free requires (memory_load8_le(mem, 2080bv64) == 1bv8); - free requires (memory_load8_le(mem, 2081bv64) == 0bv8); - free requires (memory_load8_le(mem, 2082bv64) == 2bv8); - free requires (memory_load8_le(mem, 2083bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 224bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 224bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 224bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 224bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 192bv8); - free requires (memory_load8_le(mem, 69617bv64) == 7bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -229,10 +180,130 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 2080bv64) == 1bv8); + free requires (memory_load8_le(mem, 2081bv64) == 0bv8); + free requires (memory_load8_le(mem, 2082bv64) == 2bv8); + free requires (memory_load8_le(mem, 2083bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 192bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69656bv64) == 84bv8); + free requires (memory_load8_le(mem, 69657bv64) == 7bv8); + free requires (memory_load8_le(mem, 69658bv64) == 0bv8); + free requires (memory_load8_le(mem, 69659bv64) == 0bv8); + free requires (memory_load8_le(mem, 69660bv64) == 0bv8); + free requires (memory_load8_le(mem, 69661bv64) == 0bv8); + free requires (memory_load8_le(mem, 69662bv64) == 0bv8); + free requires (memory_load8_le(mem, 69663bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 80bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69664bv64) == 120bv8); + free requires (memory_load8_le(mem, 69665bv64) == 7bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 0bv8); + free requires (memory_load8_le(mem, 69025bv64) == 7bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 156bv8); + free requires (memory_load8_le(mem, 69673bv64) == 7bv8); + free requires (memory_load8_le(mem, 69674bv64) == 0bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2080bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2081bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2082bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2083bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69656bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69657bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69658bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69659bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69660bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69661bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69662bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69663bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69664bv64) == 120bv8); + free ensures (memory_load8_le(mem, 69665bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69666bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69667bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69668bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69669bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69670bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69671bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 156bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; diff --git a/src/test/correct/jumptable2/gcc_O2/jumptable2.expected b/src/test/correct/jumptable2/gcc_O2/jumptable2.expected index 5cb6d363d..3f19c10bc 100644 --- a/src/test/correct/jumptable2/gcc_O2/jumptable2.expected +++ b/src/test/correct/jumptable2/gcc_O2/jumptable2.expected @@ -45,9 +45,68 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2040bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2041bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2042bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2043bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69656bv64) == 160bv8); + free ensures (memory_load8_le(mem, 69657bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69658bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69659bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69660bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69661bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69662bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69663bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 144bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69664bv64) == 180bv8); + free ensures (memory_load8_le(mem, 69665bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69666bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69667bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69668bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69669bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69670bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69671bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -65,114 +124,6 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R19, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R19, R29, R30, R31, stack; - free requires (memory_load8_le(mem, 2040bv64) == 1bv8); - free requires (memory_load8_le(mem, 2041bv64) == 0bv8); - free requires (memory_load8_le(mem, 2042bv64) == 2bv8); - free requires (memory_load8_le(mem, 2043bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 224bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 224bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 224bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 224bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 64bv8); - free requires (memory_load8_le(mem, 69617bv64) == 6bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -221,12 +172,132 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 2040bv64) == 1bv8); + free requires (memory_load8_le(mem, 2041bv64) == 0bv8); + free requires (memory_load8_le(mem, 2042bv64) == 2bv8); + free requires (memory_load8_le(mem, 2043bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 64bv8); + free requires (memory_load8_le(mem, 69617bv64) == 6bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69656bv64) == 160bv8); + free requires (memory_load8_le(mem, 69657bv64) == 7bv8); + free requires (memory_load8_le(mem, 69658bv64) == 0bv8); + free requires (memory_load8_le(mem, 69659bv64) == 0bv8); + free requires (memory_load8_le(mem, 69660bv64) == 0bv8); + free requires (memory_load8_le(mem, 69661bv64) == 0bv8); + free requires (memory_load8_le(mem, 69662bv64) == 0bv8); + free requires (memory_load8_le(mem, 69663bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 144bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69664bv64) == 180bv8); + free requires (memory_load8_le(mem, 69665bv64) == 7bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 64bv8); + free requires (memory_load8_le(mem, 69025bv64) == 7bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 208bv8); + free requires (memory_load8_le(mem, 69673bv64) == 7bv8); + free requires (memory_load8_le(mem, 69674bv64) == 0bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R19 == old(Gamma_R19)); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R19 == old(R19)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2040bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2041bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2042bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2043bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69656bv64) == 160bv8); + free ensures (memory_load8_le(mem, 69657bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69658bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69659bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69660bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69661bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69662bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69663bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 144bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69664bv64) == 180bv8); + free ensures (memory_load8_le(mem, 69665bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69666bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69667bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69668bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69669bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69670bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69671bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #1: bv64; var Gamma_#1: bool; diff --git a/src/test/correct/jumptable2/gcc_no_plt_no_pic/jumptable2.expected b/src/test/correct/jumptable2/gcc_no_plt_no_pic/jumptable2.expected index 788b6e50d..9d19e9512 100644 --- a/src/test/correct/jumptable2/gcc_no_plt_no_pic/jumptable2.expected +++ b/src/test/correct/jumptable2/gcc_no_plt_no_pic/jumptable2.expected @@ -53,9 +53,68 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2080bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2081bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2082bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2083bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69656bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69657bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69658bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69659bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69660bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69661bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69662bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69663bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69664bv64) == 120bv8); + free ensures (memory_load8_le(mem, 69665bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69666bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69667bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69668bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69669bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69670bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69671bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 156bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -73,114 +132,6 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R29, R30, R31, stack; - free requires (memory_load8_le(mem, 2080bv64) == 1bv8); - free requires (memory_load8_le(mem, 2081bv64) == 0bv8); - free requires (memory_load8_le(mem, 2082bv64) == 2bv8); - free requires (memory_load8_le(mem, 2083bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 224bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 224bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 224bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 224bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 192bv8); - free requires (memory_load8_le(mem, 69617bv64) == 7bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -229,10 +180,130 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 2080bv64) == 1bv8); + free requires (memory_load8_le(mem, 2081bv64) == 0bv8); + free requires (memory_load8_le(mem, 2082bv64) == 2bv8); + free requires (memory_load8_le(mem, 2083bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 192bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69656bv64) == 84bv8); + free requires (memory_load8_le(mem, 69657bv64) == 7bv8); + free requires (memory_load8_le(mem, 69658bv64) == 0bv8); + free requires (memory_load8_le(mem, 69659bv64) == 0bv8); + free requires (memory_load8_le(mem, 69660bv64) == 0bv8); + free requires (memory_load8_le(mem, 69661bv64) == 0bv8); + free requires (memory_load8_le(mem, 69662bv64) == 0bv8); + free requires (memory_load8_le(mem, 69663bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 80bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69664bv64) == 120bv8); + free requires (memory_load8_le(mem, 69665bv64) == 7bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 0bv8); + free requires (memory_load8_le(mem, 69025bv64) == 7bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 156bv8); + free requires (memory_load8_le(mem, 69673bv64) == 7bv8); + free requires (memory_load8_le(mem, 69674bv64) == 0bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2080bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2081bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2082bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2083bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69656bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69657bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69658bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69659bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69660bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69661bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69662bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69663bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69664bv64) == 120bv8); + free ensures (memory_load8_le(mem, 69665bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69666bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69667bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69668bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69669bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69670bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69671bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 156bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; diff --git a/src/test/correct/jumptable2/gcc_pic/jumptable2.expected b/src/test/correct/jumptable2/gcc_pic/jumptable2.expected index 6f65ba1a2..500dee23a 100644 --- a/src/test/correct/jumptable2/gcc_pic/jumptable2.expected +++ b/src/test/correct/jumptable2/gcc_pic/jumptable2.expected @@ -53,9 +53,84 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2144bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2145bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2146bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2147bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69608bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69609bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69610bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69611bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69612bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69613bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69614bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69615bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69656bv64) == 148bv8); + free ensures (memory_load8_le(mem, 69657bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69658bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69659bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69660bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69661bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69662bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69663bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69664bv64) == 184bv8); + free ensures (memory_load8_le(mem, 69665bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69666bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69667bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69668bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69669bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69670bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69671bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69624bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69625bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69626bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69627bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69628bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69629bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69630bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69631bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 144bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 220bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -73,130 +148,6 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R29, R30, R31, stack; - free requires (memory_load8_le(mem, 2144bv64) == 1bv8); - free requires (memory_load8_le(mem, 2145bv64) == 0bv8); - free requires (memory_load8_le(mem, 2146bv64) == 2bv8); - free requires (memory_load8_le(mem, 2147bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 16bv8); - free requires (memory_load8_le(mem, 69537bv64) == 6bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 16bv8); - free requires (memory_load8_le(mem, 69545bv64) == 6bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 16bv8); - free requires (memory_load8_le(mem, 69553bv64) == 6bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 16bv8); - free requires (memory_load8_le(mem, 69561bv64) == 6bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 152bv8); - free requires (memory_load8_le(mem, 69569bv64) == 13bv8); - free requires (memory_load8_le(mem, 69570bv64) == 1bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 16bv8); - free requires (memory_load8_le(mem, 69593bv64) == 16bv8); - free requires (memory_load8_le(mem, 69594bv64) == 1bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 8bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 0bv8); - free requires (memory_load8_le(mem, 69617bv64) == 0bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 24bv8); - free requires (memory_load8_le(mem, 69625bv64) == 16bv8); - free requires (memory_load8_le(mem, 69626bv64) == 1bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -245,10 +196,162 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 2144bv64) == 1bv8); + free requires (memory_load8_le(mem, 2145bv64) == 0bv8); + free requires (memory_load8_le(mem, 2146bv64) == 2bv8); + free requires (memory_load8_le(mem, 2147bv64) == 0bv8); + free requires (memory_load8_le(mem, 69608bv64) == 0bv8); + free requires (memory_load8_le(mem, 69609bv64) == 8bv8); + free requires (memory_load8_le(mem, 69610bv64) == 0bv8); + free requires (memory_load8_le(mem, 69611bv64) == 0bv8); + free requires (memory_load8_le(mem, 69612bv64) == 0bv8); + free requires (memory_load8_le(mem, 69613bv64) == 0bv8); + free requires (memory_load8_le(mem, 69614bv64) == 0bv8); + free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69656bv64) == 148bv8); + free requires (memory_load8_le(mem, 69657bv64) == 7bv8); + free requires (memory_load8_le(mem, 69658bv64) == 0bv8); + free requires (memory_load8_le(mem, 69659bv64) == 0bv8); + free requires (memory_load8_le(mem, 69660bv64) == 0bv8); + free requires (memory_load8_le(mem, 69661bv64) == 0bv8); + free requires (memory_load8_le(mem, 69662bv64) == 0bv8); + free requires (memory_load8_le(mem, 69663bv64) == 0bv8); + free requires (memory_load8_le(mem, 69664bv64) == 184bv8); + free requires (memory_load8_le(mem, 69665bv64) == 7bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 64bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69624bv64) == 24bv8); + free requires (memory_load8_le(mem, 69625bv64) == 16bv8); + free requires (memory_load8_le(mem, 69626bv64) == 1bv8); + free requires (memory_load8_le(mem, 69627bv64) == 0bv8); + free requires (memory_load8_le(mem, 69628bv64) == 0bv8); + free requires (memory_load8_le(mem, 69629bv64) == 0bv8); + free requires (memory_load8_le(mem, 69630bv64) == 0bv8); + free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 16bv8); + free requires (memory_load8_le(mem, 69593bv64) == 16bv8); + free requires (memory_load8_le(mem, 69594bv64) == 1bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 144bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 220bv8); + free requires (memory_load8_le(mem, 69673bv64) == 7bv8); + free requires (memory_load8_le(mem, 69674bv64) == 0bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2144bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2145bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2146bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2147bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69608bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69609bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69610bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69611bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69612bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69613bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69614bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69615bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69656bv64) == 148bv8); + free ensures (memory_load8_le(mem, 69657bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69658bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69659bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69660bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69661bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69662bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69663bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69664bv64) == 184bv8); + free ensures (memory_load8_le(mem, 69665bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69666bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69667bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69668bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69669bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69670bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69671bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69624bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69625bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69626bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69627bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69628bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69629bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69630bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69631bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 144bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 220bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; diff --git a/src/test/correct/malloc_with_local/clang/malloc_with_local.expected b/src/test/correct/malloc_with_local/clang/malloc_with_local.expected index e2e21ff1a..3144851d1 100644 --- a/src/test/correct/malloc_with_local/clang/malloc_with_local.expected +++ b/src/test/correct/malloc_with_local/clang/malloc_with_local.expected @@ -75,9 +75,104 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2256bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -94,9 +189,6 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure #free(); - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 2256bv64) == 1bv8); free requires (memory_load8_le(mem, 2257bv64) == 0bv8); free requires (memory_load8_le(mem, 2258bv64) == 2bv8); @@ -161,38 +253,22 @@ procedure main() free requires (memory_load8_le(mem, 2317bv64) == 100bv8); free requires (memory_load8_le(mem, 2318bv64) == 10bv8); free requires (memory_load8_le(mem, 2319bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 8bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -201,14 +277,113 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 69688bv64) == 0bv8); free requires (memory_load8_le(mem, 69689bv64) == 0bv8); free requires (memory_load8_le(mem, 69690bv64) == 0bv8); @@ -225,10 +400,202 @@ procedure main() free requires (memory_load8_le(mem, 69701bv64) == 0bv8); free requires (memory_load8_le(mem, 69702bv64) == 0bv8); free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free requires (memory_load8_le(mem, 2256bv64) == 1bv8); + free requires (memory_load8_le(mem, 2257bv64) == 0bv8); + free requires (memory_load8_le(mem, 2258bv64) == 2bv8); + free requires (memory_load8_le(mem, 2259bv64) == 0bv8); + free requires (memory_load8_le(mem, 2260bv64) == 84bv8); + free requires (memory_load8_le(mem, 2261bv64) == 104bv8); + free requires (memory_load8_le(mem, 2262bv64) == 101bv8); + free requires (memory_load8_le(mem, 2263bv64) == 32bv8); + free requires (memory_load8_le(mem, 2264bv64) == 99bv8); + free requires (memory_load8_le(mem, 2265bv64) == 104bv8); + free requires (memory_load8_le(mem, 2266bv64) == 97bv8); + free requires (memory_load8_le(mem, 2267bv64) == 114bv8); + free requires (memory_load8_le(mem, 2268bv64) == 32bv8); + free requires (memory_load8_le(mem, 2269bv64) == 105bv8); + free requires (memory_load8_le(mem, 2270bv64) == 115bv8); + free requires (memory_load8_le(mem, 2271bv64) == 58bv8); + free requires (memory_load8_le(mem, 2272bv64) == 32bv8); + free requires (memory_load8_le(mem, 2273bv64) == 37bv8); + free requires (memory_load8_le(mem, 2274bv64) == 99bv8); + free requires (memory_load8_le(mem, 2275bv64) == 10bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 84bv8); + free requires (memory_load8_le(mem, 2278bv64) == 104bv8); + free requires (memory_load8_le(mem, 2279bv64) == 101bv8); + free requires (memory_load8_le(mem, 2280bv64) == 32bv8); + free requires (memory_load8_le(mem, 2281bv64) == 105bv8); + free requires (memory_load8_le(mem, 2282bv64) == 110bv8); + free requires (memory_load8_le(mem, 2283bv64) == 116bv8); + free requires (memory_load8_le(mem, 2284bv64) == 32bv8); + free requires (memory_load8_le(mem, 2285bv64) == 105bv8); + free requires (memory_load8_le(mem, 2286bv64) == 115bv8); + free requires (memory_load8_le(mem, 2287bv64) == 58bv8); + free requires (memory_load8_le(mem, 2288bv64) == 32bv8); + free requires (memory_load8_le(mem, 2289bv64) == 37bv8); + free requires (memory_load8_le(mem, 2290bv64) == 100bv8); + free requires (memory_load8_le(mem, 2291bv64) == 10bv8); + free requires (memory_load8_le(mem, 2292bv64) == 0bv8); + free requires (memory_load8_le(mem, 2293bv64) == 84bv8); + free requires (memory_load8_le(mem, 2294bv64) == 104bv8); + free requires (memory_load8_le(mem, 2295bv64) == 101bv8); + free requires (memory_load8_le(mem, 2296bv64) == 32bv8); + free requires (memory_load8_le(mem, 2297bv64) == 108bv8); + free requires (memory_load8_le(mem, 2298bv64) == 111bv8); + free requires (memory_load8_le(mem, 2299bv64) == 99bv8); + free requires (memory_load8_le(mem, 2300bv64) == 97bv8); + free requires (memory_load8_le(mem, 2301bv64) == 108bv8); + free requires (memory_load8_le(mem, 2302bv64) == 32bv8); + free requires (memory_load8_le(mem, 2303bv64) == 118bv8); + free requires (memory_load8_le(mem, 2304bv64) == 97bv8); + free requires (memory_load8_le(mem, 2305bv64) == 114bv8); + free requires (memory_load8_le(mem, 2306bv64) == 105bv8); + free requires (memory_load8_le(mem, 2307bv64) == 97bv8); + free requires (memory_load8_le(mem, 2308bv64) == 98bv8); + free requires (memory_load8_le(mem, 2309bv64) == 108bv8); + free requires (memory_load8_le(mem, 2310bv64) == 101bv8); + free requires (memory_load8_le(mem, 2311bv64) == 32bv8); + free requires (memory_load8_le(mem, 2312bv64) == 105bv8); + free requires (memory_load8_le(mem, 2313bv64) == 115bv8); + free requires (memory_load8_le(mem, 2314bv64) == 58bv8); + free requires (memory_load8_le(mem, 2315bv64) == 32bv8); + free requires (memory_load8_le(mem, 2316bv64) == 37bv8); + free requires (memory_load8_le(mem, 2317bv64) == 100bv8); + free requires (memory_load8_le(mem, 2318bv64) == 10bv8); + free requires (memory_load8_le(mem, 2319bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2256bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); { var #4: bv64; var #5: bv64; @@ -315,5 +682,389 @@ procedure main() } procedure malloc(); + free requires (memory_load8_le(mem, 2256bv64) == 1bv8); + free requires (memory_load8_le(mem, 2257bv64) == 0bv8); + free requires (memory_load8_le(mem, 2258bv64) == 2bv8); + free requires (memory_load8_le(mem, 2259bv64) == 0bv8); + free requires (memory_load8_le(mem, 2260bv64) == 84bv8); + free requires (memory_load8_le(mem, 2261bv64) == 104bv8); + free requires (memory_load8_le(mem, 2262bv64) == 101bv8); + free requires (memory_load8_le(mem, 2263bv64) == 32bv8); + free requires (memory_load8_le(mem, 2264bv64) == 99bv8); + free requires (memory_load8_le(mem, 2265bv64) == 104bv8); + free requires (memory_load8_le(mem, 2266bv64) == 97bv8); + free requires (memory_load8_le(mem, 2267bv64) == 114bv8); + free requires (memory_load8_le(mem, 2268bv64) == 32bv8); + free requires (memory_load8_le(mem, 2269bv64) == 105bv8); + free requires (memory_load8_le(mem, 2270bv64) == 115bv8); + free requires (memory_load8_le(mem, 2271bv64) == 58bv8); + free requires (memory_load8_le(mem, 2272bv64) == 32bv8); + free requires (memory_load8_le(mem, 2273bv64) == 37bv8); + free requires (memory_load8_le(mem, 2274bv64) == 99bv8); + free requires (memory_load8_le(mem, 2275bv64) == 10bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 84bv8); + free requires (memory_load8_le(mem, 2278bv64) == 104bv8); + free requires (memory_load8_le(mem, 2279bv64) == 101bv8); + free requires (memory_load8_le(mem, 2280bv64) == 32bv8); + free requires (memory_load8_le(mem, 2281bv64) == 105bv8); + free requires (memory_load8_le(mem, 2282bv64) == 110bv8); + free requires (memory_load8_le(mem, 2283bv64) == 116bv8); + free requires (memory_load8_le(mem, 2284bv64) == 32bv8); + free requires (memory_load8_le(mem, 2285bv64) == 105bv8); + free requires (memory_load8_le(mem, 2286bv64) == 115bv8); + free requires (memory_load8_le(mem, 2287bv64) == 58bv8); + free requires (memory_load8_le(mem, 2288bv64) == 32bv8); + free requires (memory_load8_le(mem, 2289bv64) == 37bv8); + free requires (memory_load8_le(mem, 2290bv64) == 100bv8); + free requires (memory_load8_le(mem, 2291bv64) == 10bv8); + free requires (memory_load8_le(mem, 2292bv64) == 0bv8); + free requires (memory_load8_le(mem, 2293bv64) == 84bv8); + free requires (memory_load8_le(mem, 2294bv64) == 104bv8); + free requires (memory_load8_le(mem, 2295bv64) == 101bv8); + free requires (memory_load8_le(mem, 2296bv64) == 32bv8); + free requires (memory_load8_le(mem, 2297bv64) == 108bv8); + free requires (memory_load8_le(mem, 2298bv64) == 111bv8); + free requires (memory_load8_le(mem, 2299bv64) == 99bv8); + free requires (memory_load8_le(mem, 2300bv64) == 97bv8); + free requires (memory_load8_le(mem, 2301bv64) == 108bv8); + free requires (memory_load8_le(mem, 2302bv64) == 32bv8); + free requires (memory_load8_le(mem, 2303bv64) == 118bv8); + free requires (memory_load8_le(mem, 2304bv64) == 97bv8); + free requires (memory_load8_le(mem, 2305bv64) == 114bv8); + free requires (memory_load8_le(mem, 2306bv64) == 105bv8); + free requires (memory_load8_le(mem, 2307bv64) == 97bv8); + free requires (memory_load8_le(mem, 2308bv64) == 98bv8); + free requires (memory_load8_le(mem, 2309bv64) == 108bv8); + free requires (memory_load8_le(mem, 2310bv64) == 101bv8); + free requires (memory_load8_le(mem, 2311bv64) == 32bv8); + free requires (memory_load8_le(mem, 2312bv64) == 105bv8); + free requires (memory_load8_le(mem, 2313bv64) == 115bv8); + free requires (memory_load8_le(mem, 2314bv64) == 58bv8); + free requires (memory_load8_le(mem, 2315bv64) == 32bv8); + free requires (memory_load8_le(mem, 2316bv64) == 37bv8); + free requires (memory_load8_le(mem, 2317bv64) == 100bv8); + free requires (memory_load8_le(mem, 2318bv64) == 10bv8); + free requires (memory_load8_le(mem, 2319bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure printf(); + free requires (memory_load8_le(mem, 2256bv64) == 1bv8); + free requires (memory_load8_le(mem, 2257bv64) == 0bv8); + free requires (memory_load8_le(mem, 2258bv64) == 2bv8); + free requires (memory_load8_le(mem, 2259bv64) == 0bv8); + free requires (memory_load8_le(mem, 2260bv64) == 84bv8); + free requires (memory_load8_le(mem, 2261bv64) == 104bv8); + free requires (memory_load8_le(mem, 2262bv64) == 101bv8); + free requires (memory_load8_le(mem, 2263bv64) == 32bv8); + free requires (memory_load8_le(mem, 2264bv64) == 99bv8); + free requires (memory_load8_le(mem, 2265bv64) == 104bv8); + free requires (memory_load8_le(mem, 2266bv64) == 97bv8); + free requires (memory_load8_le(mem, 2267bv64) == 114bv8); + free requires (memory_load8_le(mem, 2268bv64) == 32bv8); + free requires (memory_load8_le(mem, 2269bv64) == 105bv8); + free requires (memory_load8_le(mem, 2270bv64) == 115bv8); + free requires (memory_load8_le(mem, 2271bv64) == 58bv8); + free requires (memory_load8_le(mem, 2272bv64) == 32bv8); + free requires (memory_load8_le(mem, 2273bv64) == 37bv8); + free requires (memory_load8_le(mem, 2274bv64) == 99bv8); + free requires (memory_load8_le(mem, 2275bv64) == 10bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 84bv8); + free requires (memory_load8_le(mem, 2278bv64) == 104bv8); + free requires (memory_load8_le(mem, 2279bv64) == 101bv8); + free requires (memory_load8_le(mem, 2280bv64) == 32bv8); + free requires (memory_load8_le(mem, 2281bv64) == 105bv8); + free requires (memory_load8_le(mem, 2282bv64) == 110bv8); + free requires (memory_load8_le(mem, 2283bv64) == 116bv8); + free requires (memory_load8_le(mem, 2284bv64) == 32bv8); + free requires (memory_load8_le(mem, 2285bv64) == 105bv8); + free requires (memory_load8_le(mem, 2286bv64) == 115bv8); + free requires (memory_load8_le(mem, 2287bv64) == 58bv8); + free requires (memory_load8_le(mem, 2288bv64) == 32bv8); + free requires (memory_load8_le(mem, 2289bv64) == 37bv8); + free requires (memory_load8_le(mem, 2290bv64) == 100bv8); + free requires (memory_load8_le(mem, 2291bv64) == 10bv8); + free requires (memory_load8_le(mem, 2292bv64) == 0bv8); + free requires (memory_load8_le(mem, 2293bv64) == 84bv8); + free requires (memory_load8_le(mem, 2294bv64) == 104bv8); + free requires (memory_load8_le(mem, 2295bv64) == 101bv8); + free requires (memory_load8_le(mem, 2296bv64) == 32bv8); + free requires (memory_load8_le(mem, 2297bv64) == 108bv8); + free requires (memory_load8_le(mem, 2298bv64) == 111bv8); + free requires (memory_load8_le(mem, 2299bv64) == 99bv8); + free requires (memory_load8_le(mem, 2300bv64) == 97bv8); + free requires (memory_load8_le(mem, 2301bv64) == 108bv8); + free requires (memory_load8_le(mem, 2302bv64) == 32bv8); + free requires (memory_load8_le(mem, 2303bv64) == 118bv8); + free requires (memory_load8_le(mem, 2304bv64) == 97bv8); + free requires (memory_load8_le(mem, 2305bv64) == 114bv8); + free requires (memory_load8_le(mem, 2306bv64) == 105bv8); + free requires (memory_load8_le(mem, 2307bv64) == 97bv8); + free requires (memory_load8_le(mem, 2308bv64) == 98bv8); + free requires (memory_load8_le(mem, 2309bv64) == 108bv8); + free requires (memory_load8_le(mem, 2310bv64) == 101bv8); + free requires (memory_load8_le(mem, 2311bv64) == 32bv8); + free requires (memory_load8_le(mem, 2312bv64) == 105bv8); + free requires (memory_load8_le(mem, 2313bv64) == 115bv8); + free requires (memory_load8_le(mem, 2314bv64) == 58bv8); + free requires (memory_load8_le(mem, 2315bv64) == 32bv8); + free requires (memory_load8_le(mem, 2316bv64) == 37bv8); + free requires (memory_load8_le(mem, 2317bv64) == 100bv8); + free requires (memory_load8_le(mem, 2318bv64) == 10bv8); + free requires (memory_load8_le(mem, 2319bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); diff --git a/src/test/correct/malloc_with_local/clang_O2/malloc_with_local.expected b/src/test/correct/malloc_with_local/clang_O2/malloc_with_local.expected index a817cd3ac..85f9277c8 100644 --- a/src/test/correct/malloc_with_local/clang_O2/malloc_with_local.expected +++ b/src/test/correct/malloc_with_local/clang_O2/malloc_with_local.expected @@ -41,9 +41,104 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1964bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1965bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1966bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1967bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1968bv64) == 84bv8); + free ensures (memory_load8_le(mem, 1969bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1970bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1971bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1972bv64) == 99bv8); + free ensures (memory_load8_le(mem, 1973bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1974bv64) == 97bv8); + free ensures (memory_load8_le(mem, 1975bv64) == 114bv8); + free ensures (memory_load8_le(mem, 1976bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1977bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1978bv64) == 115bv8); + free ensures (memory_load8_le(mem, 1979bv64) == 58bv8); + free ensures (memory_load8_le(mem, 1980bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1981bv64) == 37bv8); + free ensures (memory_load8_le(mem, 1982bv64) == 99bv8); + free ensures (memory_load8_le(mem, 1983bv64) == 10bv8); + free ensures (memory_load8_le(mem, 1984bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1985bv64) == 84bv8); + free ensures (memory_load8_le(mem, 1986bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1987bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1988bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1989bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1990bv64) == 110bv8); + free ensures (memory_load8_le(mem, 1991bv64) == 116bv8); + free ensures (memory_load8_le(mem, 1992bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1993bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1994bv64) == 115bv8); + free ensures (memory_load8_le(mem, 1995bv64) == 58bv8); + free ensures (memory_load8_le(mem, 1996bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1997bv64) == 37bv8); + free ensures (memory_load8_le(mem, 1998bv64) == 100bv8); + free ensures (memory_load8_le(mem, 1999bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2000bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2001bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2002bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2003bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2004bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2005bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2006bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2007bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2008bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2009bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2010bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2011bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2012bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2013bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2014bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2015bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2016bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2017bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2018bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2019bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2020bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2021bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2022bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2023bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2024bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -61,6 +156,22 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R1, R29, R30, R31, stack; + free requires (memory_load8_le(mem, 69672bv64) == 0bv8); + free requires (memory_load8_le(mem, 69673bv64) == 0bv8); + free requires (memory_load8_le(mem, 69674bv64) == 0bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); free requires (memory_load8_le(mem, 1964bv64) == 1bv8); free requires (memory_load8_le(mem, 1965bv64) == 0bv8); free requires (memory_load8_le(mem, 1966bv64) == 2bv8); @@ -125,38 +236,22 @@ procedure main() free requires (memory_load8_le(mem, 2025bv64) == 100bv8); free requires (memory_load8_le(mem, 2026bv64) == 10bv8); free requires (memory_load8_le(mem, 2027bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 84bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -165,22 +260,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 0bv8); - free requires (memory_load8_le(mem, 69673bv64) == 0bv8); - free requires (memory_load8_le(mem, 69674bv64) == 0bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 69680bv64) == 48bv8); free requires (memory_load8_le(mem, 69681bv64) == 16bv8); free requires (memory_load8_le(mem, 69682bv64) == 1bv8); @@ -193,6 +272,102 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1964bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1965bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1966bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1967bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1968bv64) == 84bv8); + free ensures (memory_load8_le(mem, 1969bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1970bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1971bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1972bv64) == 99bv8); + free ensures (memory_load8_le(mem, 1973bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1974bv64) == 97bv8); + free ensures (memory_load8_le(mem, 1975bv64) == 114bv8); + free ensures (memory_load8_le(mem, 1976bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1977bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1978bv64) == 115bv8); + free ensures (memory_load8_le(mem, 1979bv64) == 58bv8); + free ensures (memory_load8_le(mem, 1980bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1981bv64) == 37bv8); + free ensures (memory_load8_le(mem, 1982bv64) == 99bv8); + free ensures (memory_load8_le(mem, 1983bv64) == 10bv8); + free ensures (memory_load8_le(mem, 1984bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1985bv64) == 84bv8); + free ensures (memory_load8_le(mem, 1986bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1987bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1988bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1989bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1990bv64) == 110bv8); + free ensures (memory_load8_le(mem, 1991bv64) == 116bv8); + free ensures (memory_load8_le(mem, 1992bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1993bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1994bv64) == 115bv8); + free ensures (memory_load8_le(mem, 1995bv64) == 58bv8); + free ensures (memory_load8_le(mem, 1996bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1997bv64) == 37bv8); + free ensures (memory_load8_le(mem, 1998bv64) == 100bv8); + free ensures (memory_load8_le(mem, 1999bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2000bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2001bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2002bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2003bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2004bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2005bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2006bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2007bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2008bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2009bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2010bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2011bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2012bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2013bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2014bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2015bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2016bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2017bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2018bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2019bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2020bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2021bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2022bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2023bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2024bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -231,3 +406,195 @@ procedure main() } procedure printf(); + free requires (memory_load8_le(mem, 1964bv64) == 1bv8); + free requires (memory_load8_le(mem, 1965bv64) == 0bv8); + free requires (memory_load8_le(mem, 1966bv64) == 2bv8); + free requires (memory_load8_le(mem, 1967bv64) == 0bv8); + free requires (memory_load8_le(mem, 1968bv64) == 84bv8); + free requires (memory_load8_le(mem, 1969bv64) == 104bv8); + free requires (memory_load8_le(mem, 1970bv64) == 101bv8); + free requires (memory_load8_le(mem, 1971bv64) == 32bv8); + free requires (memory_load8_le(mem, 1972bv64) == 99bv8); + free requires (memory_load8_le(mem, 1973bv64) == 104bv8); + free requires (memory_load8_le(mem, 1974bv64) == 97bv8); + free requires (memory_load8_le(mem, 1975bv64) == 114bv8); + free requires (memory_load8_le(mem, 1976bv64) == 32bv8); + free requires (memory_load8_le(mem, 1977bv64) == 105bv8); + free requires (memory_load8_le(mem, 1978bv64) == 115bv8); + free requires (memory_load8_le(mem, 1979bv64) == 58bv8); + free requires (memory_load8_le(mem, 1980bv64) == 32bv8); + free requires (memory_load8_le(mem, 1981bv64) == 37bv8); + free requires (memory_load8_le(mem, 1982bv64) == 99bv8); + free requires (memory_load8_le(mem, 1983bv64) == 10bv8); + free requires (memory_load8_le(mem, 1984bv64) == 0bv8); + free requires (memory_load8_le(mem, 1985bv64) == 84bv8); + free requires (memory_load8_le(mem, 1986bv64) == 104bv8); + free requires (memory_load8_le(mem, 1987bv64) == 101bv8); + free requires (memory_load8_le(mem, 1988bv64) == 32bv8); + free requires (memory_load8_le(mem, 1989bv64) == 105bv8); + free requires (memory_load8_le(mem, 1990bv64) == 110bv8); + free requires (memory_load8_le(mem, 1991bv64) == 116bv8); + free requires (memory_load8_le(mem, 1992bv64) == 32bv8); + free requires (memory_load8_le(mem, 1993bv64) == 105bv8); + free requires (memory_load8_le(mem, 1994bv64) == 115bv8); + free requires (memory_load8_le(mem, 1995bv64) == 58bv8); + free requires (memory_load8_le(mem, 1996bv64) == 32bv8); + free requires (memory_load8_le(mem, 1997bv64) == 37bv8); + free requires (memory_load8_le(mem, 1998bv64) == 100bv8); + free requires (memory_load8_le(mem, 1999bv64) == 10bv8); + free requires (memory_load8_le(mem, 2000bv64) == 0bv8); + free requires (memory_load8_le(mem, 2001bv64) == 84bv8); + free requires (memory_load8_le(mem, 2002bv64) == 104bv8); + free requires (memory_load8_le(mem, 2003bv64) == 101bv8); + free requires (memory_load8_le(mem, 2004bv64) == 32bv8); + free requires (memory_load8_le(mem, 2005bv64) == 108bv8); + free requires (memory_load8_le(mem, 2006bv64) == 111bv8); + free requires (memory_load8_le(mem, 2007bv64) == 99bv8); + free requires (memory_load8_le(mem, 2008bv64) == 97bv8); + free requires (memory_load8_le(mem, 2009bv64) == 108bv8); + free requires (memory_load8_le(mem, 2010bv64) == 32bv8); + free requires (memory_load8_le(mem, 2011bv64) == 118bv8); + free requires (memory_load8_le(mem, 2012bv64) == 97bv8); + free requires (memory_load8_le(mem, 2013bv64) == 114bv8); + free requires (memory_load8_le(mem, 2014bv64) == 105bv8); + free requires (memory_load8_le(mem, 2015bv64) == 97bv8); + free requires (memory_load8_le(mem, 2016bv64) == 98bv8); + free requires (memory_load8_le(mem, 2017bv64) == 108bv8); + free requires (memory_load8_le(mem, 2018bv64) == 101bv8); + free requires (memory_load8_le(mem, 2019bv64) == 32bv8); + free requires (memory_load8_le(mem, 2020bv64) == 105bv8); + free requires (memory_load8_le(mem, 2021bv64) == 115bv8); + free requires (memory_load8_le(mem, 2022bv64) == 58bv8); + free requires (memory_load8_le(mem, 2023bv64) == 32bv8); + free requires (memory_load8_le(mem, 2024bv64) == 37bv8); + free requires (memory_load8_le(mem, 2025bv64) == 100bv8); + free requires (memory_load8_le(mem, 2026bv64) == 10bv8); + free requires (memory_load8_le(mem, 2027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 84bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1964bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1965bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1966bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1967bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1968bv64) == 84bv8); + free ensures (memory_load8_le(mem, 1969bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1970bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1971bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1972bv64) == 99bv8); + free ensures (memory_load8_le(mem, 1973bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1974bv64) == 97bv8); + free ensures (memory_load8_le(mem, 1975bv64) == 114bv8); + free ensures (memory_load8_le(mem, 1976bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1977bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1978bv64) == 115bv8); + free ensures (memory_load8_le(mem, 1979bv64) == 58bv8); + free ensures (memory_load8_le(mem, 1980bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1981bv64) == 37bv8); + free ensures (memory_load8_le(mem, 1982bv64) == 99bv8); + free ensures (memory_load8_le(mem, 1983bv64) == 10bv8); + free ensures (memory_load8_le(mem, 1984bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1985bv64) == 84bv8); + free ensures (memory_load8_le(mem, 1986bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1987bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1988bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1989bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1990bv64) == 110bv8); + free ensures (memory_load8_le(mem, 1991bv64) == 116bv8); + free ensures (memory_load8_le(mem, 1992bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1993bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1994bv64) == 115bv8); + free ensures (memory_load8_le(mem, 1995bv64) == 58bv8); + free ensures (memory_load8_le(mem, 1996bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1997bv64) == 37bv8); + free ensures (memory_load8_le(mem, 1998bv64) == 100bv8); + free ensures (memory_load8_le(mem, 1999bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2000bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2001bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2002bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2003bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2004bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2005bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2006bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2007bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2008bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2009bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2010bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2011bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2012bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2013bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2014bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2015bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2016bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2017bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2018bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2019bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2020bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2021bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2022bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2023bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2024bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); diff --git a/src/test/correct/malloc_with_local/clang_no_plt_no_pic/malloc_with_local.expected b/src/test/correct/malloc_with_local/clang_no_plt_no_pic/malloc_with_local.expected index 8a34b8692..e2aea7d45 100644 --- a/src/test/correct/malloc_with_local/clang_no_plt_no_pic/malloc_with_local.expected +++ b/src/test/correct/malloc_with_local/clang_no_plt_no_pic/malloc_with_local.expected @@ -75,9 +75,104 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2256bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -94,9 +189,6 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure #free(); - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 2256bv64) == 1bv8); free requires (memory_load8_le(mem, 2257bv64) == 0bv8); free requires (memory_load8_le(mem, 2258bv64) == 2bv8); @@ -161,38 +253,22 @@ procedure main() free requires (memory_load8_le(mem, 2317bv64) == 100bv8); free requires (memory_load8_le(mem, 2318bv64) == 10bv8); free requires (memory_load8_le(mem, 2319bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 8bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -201,14 +277,113 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 69688bv64) == 0bv8); free requires (memory_load8_le(mem, 69689bv64) == 0bv8); free requires (memory_load8_le(mem, 69690bv64) == 0bv8); @@ -225,10 +400,202 @@ procedure main() free requires (memory_load8_le(mem, 69701bv64) == 0bv8); free requires (memory_load8_le(mem, 69702bv64) == 0bv8); free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free requires (memory_load8_le(mem, 2256bv64) == 1bv8); + free requires (memory_load8_le(mem, 2257bv64) == 0bv8); + free requires (memory_load8_le(mem, 2258bv64) == 2bv8); + free requires (memory_load8_le(mem, 2259bv64) == 0bv8); + free requires (memory_load8_le(mem, 2260bv64) == 84bv8); + free requires (memory_load8_le(mem, 2261bv64) == 104bv8); + free requires (memory_load8_le(mem, 2262bv64) == 101bv8); + free requires (memory_load8_le(mem, 2263bv64) == 32bv8); + free requires (memory_load8_le(mem, 2264bv64) == 99bv8); + free requires (memory_load8_le(mem, 2265bv64) == 104bv8); + free requires (memory_load8_le(mem, 2266bv64) == 97bv8); + free requires (memory_load8_le(mem, 2267bv64) == 114bv8); + free requires (memory_load8_le(mem, 2268bv64) == 32bv8); + free requires (memory_load8_le(mem, 2269bv64) == 105bv8); + free requires (memory_load8_le(mem, 2270bv64) == 115bv8); + free requires (memory_load8_le(mem, 2271bv64) == 58bv8); + free requires (memory_load8_le(mem, 2272bv64) == 32bv8); + free requires (memory_load8_le(mem, 2273bv64) == 37bv8); + free requires (memory_load8_le(mem, 2274bv64) == 99bv8); + free requires (memory_load8_le(mem, 2275bv64) == 10bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 84bv8); + free requires (memory_load8_le(mem, 2278bv64) == 104bv8); + free requires (memory_load8_le(mem, 2279bv64) == 101bv8); + free requires (memory_load8_le(mem, 2280bv64) == 32bv8); + free requires (memory_load8_le(mem, 2281bv64) == 105bv8); + free requires (memory_load8_le(mem, 2282bv64) == 110bv8); + free requires (memory_load8_le(mem, 2283bv64) == 116bv8); + free requires (memory_load8_le(mem, 2284bv64) == 32bv8); + free requires (memory_load8_le(mem, 2285bv64) == 105bv8); + free requires (memory_load8_le(mem, 2286bv64) == 115bv8); + free requires (memory_load8_le(mem, 2287bv64) == 58bv8); + free requires (memory_load8_le(mem, 2288bv64) == 32bv8); + free requires (memory_load8_le(mem, 2289bv64) == 37bv8); + free requires (memory_load8_le(mem, 2290bv64) == 100bv8); + free requires (memory_load8_le(mem, 2291bv64) == 10bv8); + free requires (memory_load8_le(mem, 2292bv64) == 0bv8); + free requires (memory_load8_le(mem, 2293bv64) == 84bv8); + free requires (memory_load8_le(mem, 2294bv64) == 104bv8); + free requires (memory_load8_le(mem, 2295bv64) == 101bv8); + free requires (memory_load8_le(mem, 2296bv64) == 32bv8); + free requires (memory_load8_le(mem, 2297bv64) == 108bv8); + free requires (memory_load8_le(mem, 2298bv64) == 111bv8); + free requires (memory_load8_le(mem, 2299bv64) == 99bv8); + free requires (memory_load8_le(mem, 2300bv64) == 97bv8); + free requires (memory_load8_le(mem, 2301bv64) == 108bv8); + free requires (memory_load8_le(mem, 2302bv64) == 32bv8); + free requires (memory_load8_le(mem, 2303bv64) == 118bv8); + free requires (memory_load8_le(mem, 2304bv64) == 97bv8); + free requires (memory_load8_le(mem, 2305bv64) == 114bv8); + free requires (memory_load8_le(mem, 2306bv64) == 105bv8); + free requires (memory_load8_le(mem, 2307bv64) == 97bv8); + free requires (memory_load8_le(mem, 2308bv64) == 98bv8); + free requires (memory_load8_le(mem, 2309bv64) == 108bv8); + free requires (memory_load8_le(mem, 2310bv64) == 101bv8); + free requires (memory_load8_le(mem, 2311bv64) == 32bv8); + free requires (memory_load8_le(mem, 2312bv64) == 105bv8); + free requires (memory_load8_le(mem, 2313bv64) == 115bv8); + free requires (memory_load8_le(mem, 2314bv64) == 58bv8); + free requires (memory_load8_le(mem, 2315bv64) == 32bv8); + free requires (memory_load8_le(mem, 2316bv64) == 37bv8); + free requires (memory_load8_le(mem, 2317bv64) == 100bv8); + free requires (memory_load8_le(mem, 2318bv64) == 10bv8); + free requires (memory_load8_le(mem, 2319bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2256bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); { var #4: bv64; var #5: bv64; @@ -315,5 +682,389 @@ procedure main() } procedure malloc(); + free requires (memory_load8_le(mem, 2256bv64) == 1bv8); + free requires (memory_load8_le(mem, 2257bv64) == 0bv8); + free requires (memory_load8_le(mem, 2258bv64) == 2bv8); + free requires (memory_load8_le(mem, 2259bv64) == 0bv8); + free requires (memory_load8_le(mem, 2260bv64) == 84bv8); + free requires (memory_load8_le(mem, 2261bv64) == 104bv8); + free requires (memory_load8_le(mem, 2262bv64) == 101bv8); + free requires (memory_load8_le(mem, 2263bv64) == 32bv8); + free requires (memory_load8_le(mem, 2264bv64) == 99bv8); + free requires (memory_load8_le(mem, 2265bv64) == 104bv8); + free requires (memory_load8_le(mem, 2266bv64) == 97bv8); + free requires (memory_load8_le(mem, 2267bv64) == 114bv8); + free requires (memory_load8_le(mem, 2268bv64) == 32bv8); + free requires (memory_load8_le(mem, 2269bv64) == 105bv8); + free requires (memory_load8_le(mem, 2270bv64) == 115bv8); + free requires (memory_load8_le(mem, 2271bv64) == 58bv8); + free requires (memory_load8_le(mem, 2272bv64) == 32bv8); + free requires (memory_load8_le(mem, 2273bv64) == 37bv8); + free requires (memory_load8_le(mem, 2274bv64) == 99bv8); + free requires (memory_load8_le(mem, 2275bv64) == 10bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 84bv8); + free requires (memory_load8_le(mem, 2278bv64) == 104bv8); + free requires (memory_load8_le(mem, 2279bv64) == 101bv8); + free requires (memory_load8_le(mem, 2280bv64) == 32bv8); + free requires (memory_load8_le(mem, 2281bv64) == 105bv8); + free requires (memory_load8_le(mem, 2282bv64) == 110bv8); + free requires (memory_load8_le(mem, 2283bv64) == 116bv8); + free requires (memory_load8_le(mem, 2284bv64) == 32bv8); + free requires (memory_load8_le(mem, 2285bv64) == 105bv8); + free requires (memory_load8_le(mem, 2286bv64) == 115bv8); + free requires (memory_load8_le(mem, 2287bv64) == 58bv8); + free requires (memory_load8_le(mem, 2288bv64) == 32bv8); + free requires (memory_load8_le(mem, 2289bv64) == 37bv8); + free requires (memory_load8_le(mem, 2290bv64) == 100bv8); + free requires (memory_load8_le(mem, 2291bv64) == 10bv8); + free requires (memory_load8_le(mem, 2292bv64) == 0bv8); + free requires (memory_load8_le(mem, 2293bv64) == 84bv8); + free requires (memory_load8_le(mem, 2294bv64) == 104bv8); + free requires (memory_load8_le(mem, 2295bv64) == 101bv8); + free requires (memory_load8_le(mem, 2296bv64) == 32bv8); + free requires (memory_load8_le(mem, 2297bv64) == 108bv8); + free requires (memory_load8_le(mem, 2298bv64) == 111bv8); + free requires (memory_load8_le(mem, 2299bv64) == 99bv8); + free requires (memory_load8_le(mem, 2300bv64) == 97bv8); + free requires (memory_load8_le(mem, 2301bv64) == 108bv8); + free requires (memory_load8_le(mem, 2302bv64) == 32bv8); + free requires (memory_load8_le(mem, 2303bv64) == 118bv8); + free requires (memory_load8_le(mem, 2304bv64) == 97bv8); + free requires (memory_load8_le(mem, 2305bv64) == 114bv8); + free requires (memory_load8_le(mem, 2306bv64) == 105bv8); + free requires (memory_load8_le(mem, 2307bv64) == 97bv8); + free requires (memory_load8_le(mem, 2308bv64) == 98bv8); + free requires (memory_load8_le(mem, 2309bv64) == 108bv8); + free requires (memory_load8_le(mem, 2310bv64) == 101bv8); + free requires (memory_load8_le(mem, 2311bv64) == 32bv8); + free requires (memory_load8_le(mem, 2312bv64) == 105bv8); + free requires (memory_load8_le(mem, 2313bv64) == 115bv8); + free requires (memory_load8_le(mem, 2314bv64) == 58bv8); + free requires (memory_load8_le(mem, 2315bv64) == 32bv8); + free requires (memory_load8_le(mem, 2316bv64) == 37bv8); + free requires (memory_load8_le(mem, 2317bv64) == 100bv8); + free requires (memory_load8_le(mem, 2318bv64) == 10bv8); + free requires (memory_load8_le(mem, 2319bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure printf(); + free requires (memory_load8_le(mem, 2256bv64) == 1bv8); + free requires (memory_load8_le(mem, 2257bv64) == 0bv8); + free requires (memory_load8_le(mem, 2258bv64) == 2bv8); + free requires (memory_load8_le(mem, 2259bv64) == 0bv8); + free requires (memory_load8_le(mem, 2260bv64) == 84bv8); + free requires (memory_load8_le(mem, 2261bv64) == 104bv8); + free requires (memory_load8_le(mem, 2262bv64) == 101bv8); + free requires (memory_load8_le(mem, 2263bv64) == 32bv8); + free requires (memory_load8_le(mem, 2264bv64) == 99bv8); + free requires (memory_load8_le(mem, 2265bv64) == 104bv8); + free requires (memory_load8_le(mem, 2266bv64) == 97bv8); + free requires (memory_load8_le(mem, 2267bv64) == 114bv8); + free requires (memory_load8_le(mem, 2268bv64) == 32bv8); + free requires (memory_load8_le(mem, 2269bv64) == 105bv8); + free requires (memory_load8_le(mem, 2270bv64) == 115bv8); + free requires (memory_load8_le(mem, 2271bv64) == 58bv8); + free requires (memory_load8_le(mem, 2272bv64) == 32bv8); + free requires (memory_load8_le(mem, 2273bv64) == 37bv8); + free requires (memory_load8_le(mem, 2274bv64) == 99bv8); + free requires (memory_load8_le(mem, 2275bv64) == 10bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 84bv8); + free requires (memory_load8_le(mem, 2278bv64) == 104bv8); + free requires (memory_load8_le(mem, 2279bv64) == 101bv8); + free requires (memory_load8_le(mem, 2280bv64) == 32bv8); + free requires (memory_load8_le(mem, 2281bv64) == 105bv8); + free requires (memory_load8_le(mem, 2282bv64) == 110bv8); + free requires (memory_load8_le(mem, 2283bv64) == 116bv8); + free requires (memory_load8_le(mem, 2284bv64) == 32bv8); + free requires (memory_load8_le(mem, 2285bv64) == 105bv8); + free requires (memory_load8_le(mem, 2286bv64) == 115bv8); + free requires (memory_load8_le(mem, 2287bv64) == 58bv8); + free requires (memory_load8_le(mem, 2288bv64) == 32bv8); + free requires (memory_load8_le(mem, 2289bv64) == 37bv8); + free requires (memory_load8_le(mem, 2290bv64) == 100bv8); + free requires (memory_load8_le(mem, 2291bv64) == 10bv8); + free requires (memory_load8_le(mem, 2292bv64) == 0bv8); + free requires (memory_load8_le(mem, 2293bv64) == 84bv8); + free requires (memory_load8_le(mem, 2294bv64) == 104bv8); + free requires (memory_load8_le(mem, 2295bv64) == 101bv8); + free requires (memory_load8_le(mem, 2296bv64) == 32bv8); + free requires (memory_load8_le(mem, 2297bv64) == 108bv8); + free requires (memory_load8_le(mem, 2298bv64) == 111bv8); + free requires (memory_load8_le(mem, 2299bv64) == 99bv8); + free requires (memory_load8_le(mem, 2300bv64) == 97bv8); + free requires (memory_load8_le(mem, 2301bv64) == 108bv8); + free requires (memory_load8_le(mem, 2302bv64) == 32bv8); + free requires (memory_load8_le(mem, 2303bv64) == 118bv8); + free requires (memory_load8_le(mem, 2304bv64) == 97bv8); + free requires (memory_load8_le(mem, 2305bv64) == 114bv8); + free requires (memory_load8_le(mem, 2306bv64) == 105bv8); + free requires (memory_load8_le(mem, 2307bv64) == 97bv8); + free requires (memory_load8_le(mem, 2308bv64) == 98bv8); + free requires (memory_load8_le(mem, 2309bv64) == 108bv8); + free requires (memory_load8_le(mem, 2310bv64) == 101bv8); + free requires (memory_load8_le(mem, 2311bv64) == 32bv8); + free requires (memory_load8_le(mem, 2312bv64) == 105bv8); + free requires (memory_load8_le(mem, 2313bv64) == 115bv8); + free requires (memory_load8_le(mem, 2314bv64) == 58bv8); + free requires (memory_load8_le(mem, 2315bv64) == 32bv8); + free requires (memory_load8_le(mem, 2316bv64) == 37bv8); + free requires (memory_load8_le(mem, 2317bv64) == 100bv8); + free requires (memory_load8_le(mem, 2318bv64) == 10bv8); + free requires (memory_load8_le(mem, 2319bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); diff --git a/src/test/correct/malloc_with_local/clang_pic/malloc_with_local.expected b/src/test/correct/malloc_with_local/clang_pic/malloc_with_local.expected index 8a34b8692..e2aea7d45 100644 --- a/src/test/correct/malloc_with_local/clang_pic/malloc_with_local.expected +++ b/src/test/correct/malloc_with_local/clang_pic/malloc_with_local.expected @@ -75,9 +75,104 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2256bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -94,9 +189,6 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure #free(); - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 2256bv64) == 1bv8); free requires (memory_load8_le(mem, 2257bv64) == 0bv8); free requires (memory_load8_le(mem, 2258bv64) == 2bv8); @@ -161,38 +253,22 @@ procedure main() free requires (memory_load8_le(mem, 2317bv64) == 100bv8); free requires (memory_load8_le(mem, 2318bv64) == 10bv8); free requires (memory_load8_le(mem, 2319bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 8bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -201,14 +277,113 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 69688bv64) == 0bv8); free requires (memory_load8_le(mem, 69689bv64) == 0bv8); free requires (memory_load8_le(mem, 69690bv64) == 0bv8); @@ -225,10 +400,202 @@ procedure main() free requires (memory_load8_le(mem, 69701bv64) == 0bv8); free requires (memory_load8_le(mem, 69702bv64) == 0bv8); free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free requires (memory_load8_le(mem, 2256bv64) == 1bv8); + free requires (memory_load8_le(mem, 2257bv64) == 0bv8); + free requires (memory_load8_le(mem, 2258bv64) == 2bv8); + free requires (memory_load8_le(mem, 2259bv64) == 0bv8); + free requires (memory_load8_le(mem, 2260bv64) == 84bv8); + free requires (memory_load8_le(mem, 2261bv64) == 104bv8); + free requires (memory_load8_le(mem, 2262bv64) == 101bv8); + free requires (memory_load8_le(mem, 2263bv64) == 32bv8); + free requires (memory_load8_le(mem, 2264bv64) == 99bv8); + free requires (memory_load8_le(mem, 2265bv64) == 104bv8); + free requires (memory_load8_le(mem, 2266bv64) == 97bv8); + free requires (memory_load8_le(mem, 2267bv64) == 114bv8); + free requires (memory_load8_le(mem, 2268bv64) == 32bv8); + free requires (memory_load8_le(mem, 2269bv64) == 105bv8); + free requires (memory_load8_le(mem, 2270bv64) == 115bv8); + free requires (memory_load8_le(mem, 2271bv64) == 58bv8); + free requires (memory_load8_le(mem, 2272bv64) == 32bv8); + free requires (memory_load8_le(mem, 2273bv64) == 37bv8); + free requires (memory_load8_le(mem, 2274bv64) == 99bv8); + free requires (memory_load8_le(mem, 2275bv64) == 10bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 84bv8); + free requires (memory_load8_le(mem, 2278bv64) == 104bv8); + free requires (memory_load8_le(mem, 2279bv64) == 101bv8); + free requires (memory_load8_le(mem, 2280bv64) == 32bv8); + free requires (memory_load8_le(mem, 2281bv64) == 105bv8); + free requires (memory_load8_le(mem, 2282bv64) == 110bv8); + free requires (memory_load8_le(mem, 2283bv64) == 116bv8); + free requires (memory_load8_le(mem, 2284bv64) == 32bv8); + free requires (memory_load8_le(mem, 2285bv64) == 105bv8); + free requires (memory_load8_le(mem, 2286bv64) == 115bv8); + free requires (memory_load8_le(mem, 2287bv64) == 58bv8); + free requires (memory_load8_le(mem, 2288bv64) == 32bv8); + free requires (memory_load8_le(mem, 2289bv64) == 37bv8); + free requires (memory_load8_le(mem, 2290bv64) == 100bv8); + free requires (memory_load8_le(mem, 2291bv64) == 10bv8); + free requires (memory_load8_le(mem, 2292bv64) == 0bv8); + free requires (memory_load8_le(mem, 2293bv64) == 84bv8); + free requires (memory_load8_le(mem, 2294bv64) == 104bv8); + free requires (memory_load8_le(mem, 2295bv64) == 101bv8); + free requires (memory_load8_le(mem, 2296bv64) == 32bv8); + free requires (memory_load8_le(mem, 2297bv64) == 108bv8); + free requires (memory_load8_le(mem, 2298bv64) == 111bv8); + free requires (memory_load8_le(mem, 2299bv64) == 99bv8); + free requires (memory_load8_le(mem, 2300bv64) == 97bv8); + free requires (memory_load8_le(mem, 2301bv64) == 108bv8); + free requires (memory_load8_le(mem, 2302bv64) == 32bv8); + free requires (memory_load8_le(mem, 2303bv64) == 118bv8); + free requires (memory_load8_le(mem, 2304bv64) == 97bv8); + free requires (memory_load8_le(mem, 2305bv64) == 114bv8); + free requires (memory_load8_le(mem, 2306bv64) == 105bv8); + free requires (memory_load8_le(mem, 2307bv64) == 97bv8); + free requires (memory_load8_le(mem, 2308bv64) == 98bv8); + free requires (memory_load8_le(mem, 2309bv64) == 108bv8); + free requires (memory_load8_le(mem, 2310bv64) == 101bv8); + free requires (memory_load8_le(mem, 2311bv64) == 32bv8); + free requires (memory_load8_le(mem, 2312bv64) == 105bv8); + free requires (memory_load8_le(mem, 2313bv64) == 115bv8); + free requires (memory_load8_le(mem, 2314bv64) == 58bv8); + free requires (memory_load8_le(mem, 2315bv64) == 32bv8); + free requires (memory_load8_le(mem, 2316bv64) == 37bv8); + free requires (memory_load8_le(mem, 2317bv64) == 100bv8); + free requires (memory_load8_le(mem, 2318bv64) == 10bv8); + free requires (memory_load8_le(mem, 2319bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2256bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); { var #4: bv64; var #5: bv64; @@ -315,5 +682,389 @@ procedure main() } procedure malloc(); + free requires (memory_load8_le(mem, 2256bv64) == 1bv8); + free requires (memory_load8_le(mem, 2257bv64) == 0bv8); + free requires (memory_load8_le(mem, 2258bv64) == 2bv8); + free requires (memory_load8_le(mem, 2259bv64) == 0bv8); + free requires (memory_load8_le(mem, 2260bv64) == 84bv8); + free requires (memory_load8_le(mem, 2261bv64) == 104bv8); + free requires (memory_load8_le(mem, 2262bv64) == 101bv8); + free requires (memory_load8_le(mem, 2263bv64) == 32bv8); + free requires (memory_load8_le(mem, 2264bv64) == 99bv8); + free requires (memory_load8_le(mem, 2265bv64) == 104bv8); + free requires (memory_load8_le(mem, 2266bv64) == 97bv8); + free requires (memory_load8_le(mem, 2267bv64) == 114bv8); + free requires (memory_load8_le(mem, 2268bv64) == 32bv8); + free requires (memory_load8_le(mem, 2269bv64) == 105bv8); + free requires (memory_load8_le(mem, 2270bv64) == 115bv8); + free requires (memory_load8_le(mem, 2271bv64) == 58bv8); + free requires (memory_load8_le(mem, 2272bv64) == 32bv8); + free requires (memory_load8_le(mem, 2273bv64) == 37bv8); + free requires (memory_load8_le(mem, 2274bv64) == 99bv8); + free requires (memory_load8_le(mem, 2275bv64) == 10bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 84bv8); + free requires (memory_load8_le(mem, 2278bv64) == 104bv8); + free requires (memory_load8_le(mem, 2279bv64) == 101bv8); + free requires (memory_load8_le(mem, 2280bv64) == 32bv8); + free requires (memory_load8_le(mem, 2281bv64) == 105bv8); + free requires (memory_load8_le(mem, 2282bv64) == 110bv8); + free requires (memory_load8_le(mem, 2283bv64) == 116bv8); + free requires (memory_load8_le(mem, 2284bv64) == 32bv8); + free requires (memory_load8_le(mem, 2285bv64) == 105bv8); + free requires (memory_load8_le(mem, 2286bv64) == 115bv8); + free requires (memory_load8_le(mem, 2287bv64) == 58bv8); + free requires (memory_load8_le(mem, 2288bv64) == 32bv8); + free requires (memory_load8_le(mem, 2289bv64) == 37bv8); + free requires (memory_load8_le(mem, 2290bv64) == 100bv8); + free requires (memory_load8_le(mem, 2291bv64) == 10bv8); + free requires (memory_load8_le(mem, 2292bv64) == 0bv8); + free requires (memory_load8_le(mem, 2293bv64) == 84bv8); + free requires (memory_load8_le(mem, 2294bv64) == 104bv8); + free requires (memory_load8_le(mem, 2295bv64) == 101bv8); + free requires (memory_load8_le(mem, 2296bv64) == 32bv8); + free requires (memory_load8_le(mem, 2297bv64) == 108bv8); + free requires (memory_load8_le(mem, 2298bv64) == 111bv8); + free requires (memory_load8_le(mem, 2299bv64) == 99bv8); + free requires (memory_load8_le(mem, 2300bv64) == 97bv8); + free requires (memory_load8_le(mem, 2301bv64) == 108bv8); + free requires (memory_load8_le(mem, 2302bv64) == 32bv8); + free requires (memory_load8_le(mem, 2303bv64) == 118bv8); + free requires (memory_load8_le(mem, 2304bv64) == 97bv8); + free requires (memory_load8_le(mem, 2305bv64) == 114bv8); + free requires (memory_load8_le(mem, 2306bv64) == 105bv8); + free requires (memory_load8_le(mem, 2307bv64) == 97bv8); + free requires (memory_load8_le(mem, 2308bv64) == 98bv8); + free requires (memory_load8_le(mem, 2309bv64) == 108bv8); + free requires (memory_load8_le(mem, 2310bv64) == 101bv8); + free requires (memory_load8_le(mem, 2311bv64) == 32bv8); + free requires (memory_load8_le(mem, 2312bv64) == 105bv8); + free requires (memory_load8_le(mem, 2313bv64) == 115bv8); + free requires (memory_load8_le(mem, 2314bv64) == 58bv8); + free requires (memory_load8_le(mem, 2315bv64) == 32bv8); + free requires (memory_load8_le(mem, 2316bv64) == 37bv8); + free requires (memory_load8_le(mem, 2317bv64) == 100bv8); + free requires (memory_load8_le(mem, 2318bv64) == 10bv8); + free requires (memory_load8_le(mem, 2319bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure printf(); + free requires (memory_load8_le(mem, 2256bv64) == 1bv8); + free requires (memory_load8_le(mem, 2257bv64) == 0bv8); + free requires (memory_load8_le(mem, 2258bv64) == 2bv8); + free requires (memory_load8_le(mem, 2259bv64) == 0bv8); + free requires (memory_load8_le(mem, 2260bv64) == 84bv8); + free requires (memory_load8_le(mem, 2261bv64) == 104bv8); + free requires (memory_load8_le(mem, 2262bv64) == 101bv8); + free requires (memory_load8_le(mem, 2263bv64) == 32bv8); + free requires (memory_load8_le(mem, 2264bv64) == 99bv8); + free requires (memory_load8_le(mem, 2265bv64) == 104bv8); + free requires (memory_load8_le(mem, 2266bv64) == 97bv8); + free requires (memory_load8_le(mem, 2267bv64) == 114bv8); + free requires (memory_load8_le(mem, 2268bv64) == 32bv8); + free requires (memory_load8_le(mem, 2269bv64) == 105bv8); + free requires (memory_load8_le(mem, 2270bv64) == 115bv8); + free requires (memory_load8_le(mem, 2271bv64) == 58bv8); + free requires (memory_load8_le(mem, 2272bv64) == 32bv8); + free requires (memory_load8_le(mem, 2273bv64) == 37bv8); + free requires (memory_load8_le(mem, 2274bv64) == 99bv8); + free requires (memory_load8_le(mem, 2275bv64) == 10bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 84bv8); + free requires (memory_load8_le(mem, 2278bv64) == 104bv8); + free requires (memory_load8_le(mem, 2279bv64) == 101bv8); + free requires (memory_load8_le(mem, 2280bv64) == 32bv8); + free requires (memory_load8_le(mem, 2281bv64) == 105bv8); + free requires (memory_load8_le(mem, 2282bv64) == 110bv8); + free requires (memory_load8_le(mem, 2283bv64) == 116bv8); + free requires (memory_load8_le(mem, 2284bv64) == 32bv8); + free requires (memory_load8_le(mem, 2285bv64) == 105bv8); + free requires (memory_load8_le(mem, 2286bv64) == 115bv8); + free requires (memory_load8_le(mem, 2287bv64) == 58bv8); + free requires (memory_load8_le(mem, 2288bv64) == 32bv8); + free requires (memory_load8_le(mem, 2289bv64) == 37bv8); + free requires (memory_load8_le(mem, 2290bv64) == 100bv8); + free requires (memory_load8_le(mem, 2291bv64) == 10bv8); + free requires (memory_load8_le(mem, 2292bv64) == 0bv8); + free requires (memory_load8_le(mem, 2293bv64) == 84bv8); + free requires (memory_load8_le(mem, 2294bv64) == 104bv8); + free requires (memory_load8_le(mem, 2295bv64) == 101bv8); + free requires (memory_load8_le(mem, 2296bv64) == 32bv8); + free requires (memory_load8_le(mem, 2297bv64) == 108bv8); + free requires (memory_load8_le(mem, 2298bv64) == 111bv8); + free requires (memory_load8_le(mem, 2299bv64) == 99bv8); + free requires (memory_load8_le(mem, 2300bv64) == 97bv8); + free requires (memory_load8_le(mem, 2301bv64) == 108bv8); + free requires (memory_load8_le(mem, 2302bv64) == 32bv8); + free requires (memory_load8_le(mem, 2303bv64) == 118bv8); + free requires (memory_load8_le(mem, 2304bv64) == 97bv8); + free requires (memory_load8_le(mem, 2305bv64) == 114bv8); + free requires (memory_load8_le(mem, 2306bv64) == 105bv8); + free requires (memory_load8_le(mem, 2307bv64) == 97bv8); + free requires (memory_load8_le(mem, 2308bv64) == 98bv8); + free requires (memory_load8_le(mem, 2309bv64) == 108bv8); + free requires (memory_load8_le(mem, 2310bv64) == 101bv8); + free requires (memory_load8_le(mem, 2311bv64) == 32bv8); + free requires (memory_load8_le(mem, 2312bv64) == 105bv8); + free requires (memory_load8_le(mem, 2313bv64) == 115bv8); + free requires (memory_load8_le(mem, 2314bv64) == 58bv8); + free requires (memory_load8_le(mem, 2315bv64) == 32bv8); + free requires (memory_load8_le(mem, 2316bv64) == 37bv8); + free requires (memory_load8_le(mem, 2317bv64) == 100bv8); + free requires (memory_load8_le(mem, 2318bv64) == 10bv8); + free requires (memory_load8_le(mem, 2319bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); diff --git a/src/test/correct/malloc_with_local/gcc/malloc_with_local.expected b/src/test/correct/malloc_with_local/gcc/malloc_with_local.expected index 13b7e4541..bb08644bd 100644 --- a/src/test/correct/malloc_with_local/gcc/malloc_with_local.expected +++ b/src/test/correct/malloc_with_local/gcc/malloc_with_local.expected @@ -71,9 +71,115 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2248bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -90,9 +196,6 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure #free(); - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 2248bv64) == 1bv8); free requires (memory_load8_le(mem, 2249bv64) == 0bv8); free requires (memory_load8_le(mem, 2250bv64) == 2bv8); @@ -168,118 +271,22 @@ procedure main() free requires (memory_load8_le(mem, 2320bv64) == 100bv8); free requires (memory_load8_le(mem, 2321bv64) == 10bv8); free requires (memory_load8_le(mem, 2322bv64) == 0bv8); - free requires (memory_load8_le(mem, 69504bv64) == 0bv8); - free requires (memory_load8_le(mem, 69505bv64) == 0bv8); - free requires (memory_load8_le(mem, 69506bv64) == 0bv8); - free requires (memory_load8_le(mem, 69507bv64) == 0bv8); - free requires (memory_load8_le(mem, 69508bv64) == 0bv8); - free requires (memory_load8_le(mem, 69509bv64) == 0bv8); - free requires (memory_load8_le(mem, 69510bv64) == 0bv8); - free requires (memory_load8_le(mem, 69511bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 64bv8); - free requires (memory_load8_le(mem, 69529bv64) == 6bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 64bv8); - free requires (memory_load8_le(mem, 69537bv64) == 6bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 64bv8); - free requires (memory_load8_le(mem, 69545bv64) == 6bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 64bv8); - free requires (memory_load8_le(mem, 69553bv64) == 6bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 64bv8); - free requires (memory_load8_le(mem, 69561bv64) == 6bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 64bv8); - free requires (memory_load8_le(mem, 69569bv64) == 6bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 64bv8); - free requires (memory_load8_le(mem, 69577bv64) == 6bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 144bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 8bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -288,14 +295,124 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -312,10 +429,224 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 2248bv64) == 1bv8); + free requires (memory_load8_le(mem, 2249bv64) == 0bv8); + free requires (memory_load8_le(mem, 2250bv64) == 2bv8); + free requires (memory_load8_le(mem, 2251bv64) == 0bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 0bv8); + free requires (memory_load8_le(mem, 2254bv64) == 0bv8); + free requires (memory_load8_le(mem, 2255bv64) == 0bv8); + free requires (memory_load8_le(mem, 2256bv64) == 84bv8); + free requires (memory_load8_le(mem, 2257bv64) == 104bv8); + free requires (memory_load8_le(mem, 2258bv64) == 101bv8); + free requires (memory_load8_le(mem, 2259bv64) == 32bv8); + free requires (memory_load8_le(mem, 2260bv64) == 99bv8); + free requires (memory_load8_le(mem, 2261bv64) == 104bv8); + free requires (memory_load8_le(mem, 2262bv64) == 97bv8); + free requires (memory_load8_le(mem, 2263bv64) == 114bv8); + free requires (memory_load8_le(mem, 2264bv64) == 32bv8); + free requires (memory_load8_le(mem, 2265bv64) == 105bv8); + free requires (memory_load8_le(mem, 2266bv64) == 115bv8); + free requires (memory_load8_le(mem, 2267bv64) == 58bv8); + free requires (memory_load8_le(mem, 2268bv64) == 32bv8); + free requires (memory_load8_le(mem, 2269bv64) == 37bv8); + free requires (memory_load8_le(mem, 2270bv64) == 99bv8); + free requires (memory_load8_le(mem, 2271bv64) == 10bv8); + free requires (memory_load8_le(mem, 2272bv64) == 0bv8); + free requires (memory_load8_le(mem, 2273bv64) == 0bv8); + free requires (memory_load8_le(mem, 2274bv64) == 0bv8); + free requires (memory_load8_le(mem, 2275bv64) == 0bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 0bv8); + free requires (memory_load8_le(mem, 2278bv64) == 0bv8); + free requires (memory_load8_le(mem, 2279bv64) == 0bv8); + free requires (memory_load8_le(mem, 2280bv64) == 84bv8); + free requires (memory_load8_le(mem, 2281bv64) == 104bv8); + free requires (memory_load8_le(mem, 2282bv64) == 101bv8); + free requires (memory_load8_le(mem, 2283bv64) == 32bv8); + free requires (memory_load8_le(mem, 2284bv64) == 105bv8); + free requires (memory_load8_le(mem, 2285bv64) == 110bv8); + free requires (memory_load8_le(mem, 2286bv64) == 116bv8); + free requires (memory_load8_le(mem, 2287bv64) == 32bv8); + free requires (memory_load8_le(mem, 2288bv64) == 105bv8); + free requires (memory_load8_le(mem, 2289bv64) == 115bv8); + free requires (memory_load8_le(mem, 2290bv64) == 58bv8); + free requires (memory_load8_le(mem, 2291bv64) == 32bv8); + free requires (memory_load8_le(mem, 2292bv64) == 37bv8); + free requires (memory_load8_le(mem, 2293bv64) == 100bv8); + free requires (memory_load8_le(mem, 2294bv64) == 10bv8); + free requires (memory_load8_le(mem, 2295bv64) == 0bv8); + free requires (memory_load8_le(mem, 2296bv64) == 84bv8); + free requires (memory_load8_le(mem, 2297bv64) == 104bv8); + free requires (memory_load8_le(mem, 2298bv64) == 101bv8); + free requires (memory_load8_le(mem, 2299bv64) == 32bv8); + free requires (memory_load8_le(mem, 2300bv64) == 108bv8); + free requires (memory_load8_le(mem, 2301bv64) == 111bv8); + free requires (memory_load8_le(mem, 2302bv64) == 99bv8); + free requires (memory_load8_le(mem, 2303bv64) == 97bv8); + free requires (memory_load8_le(mem, 2304bv64) == 108bv8); + free requires (memory_load8_le(mem, 2305bv64) == 32bv8); + free requires (memory_load8_le(mem, 2306bv64) == 118bv8); + free requires (memory_load8_le(mem, 2307bv64) == 97bv8); + free requires (memory_load8_le(mem, 2308bv64) == 114bv8); + free requires (memory_load8_le(mem, 2309bv64) == 105bv8); + free requires (memory_load8_le(mem, 2310bv64) == 97bv8); + free requires (memory_load8_le(mem, 2311bv64) == 98bv8); + free requires (memory_load8_le(mem, 2312bv64) == 108bv8); + free requires (memory_load8_le(mem, 2313bv64) == 101bv8); + free requires (memory_load8_le(mem, 2314bv64) == 32bv8); + free requires (memory_load8_le(mem, 2315bv64) == 105bv8); + free requires (memory_load8_le(mem, 2316bv64) == 115bv8); + free requires (memory_load8_le(mem, 2317bv64) == 58bv8); + free requires (memory_load8_le(mem, 2318bv64) == 32bv8); + free requires (memory_load8_le(mem, 2319bv64) == 37bv8); + free requires (memory_load8_le(mem, 2320bv64) == 100bv8); + free requires (memory_load8_le(mem, 2321bv64) == 10bv8); + free requires (memory_load8_le(mem, 2322bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2248bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -398,5 +729,433 @@ procedure main() } procedure malloc(); + free requires (memory_load8_le(mem, 2248bv64) == 1bv8); + free requires (memory_load8_le(mem, 2249bv64) == 0bv8); + free requires (memory_load8_le(mem, 2250bv64) == 2bv8); + free requires (memory_load8_le(mem, 2251bv64) == 0bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 0bv8); + free requires (memory_load8_le(mem, 2254bv64) == 0bv8); + free requires (memory_load8_le(mem, 2255bv64) == 0bv8); + free requires (memory_load8_le(mem, 2256bv64) == 84bv8); + free requires (memory_load8_le(mem, 2257bv64) == 104bv8); + free requires (memory_load8_le(mem, 2258bv64) == 101bv8); + free requires (memory_load8_le(mem, 2259bv64) == 32bv8); + free requires (memory_load8_le(mem, 2260bv64) == 99bv8); + free requires (memory_load8_le(mem, 2261bv64) == 104bv8); + free requires (memory_load8_le(mem, 2262bv64) == 97bv8); + free requires (memory_load8_le(mem, 2263bv64) == 114bv8); + free requires (memory_load8_le(mem, 2264bv64) == 32bv8); + free requires (memory_load8_le(mem, 2265bv64) == 105bv8); + free requires (memory_load8_le(mem, 2266bv64) == 115bv8); + free requires (memory_load8_le(mem, 2267bv64) == 58bv8); + free requires (memory_load8_le(mem, 2268bv64) == 32bv8); + free requires (memory_load8_le(mem, 2269bv64) == 37bv8); + free requires (memory_load8_le(mem, 2270bv64) == 99bv8); + free requires (memory_load8_le(mem, 2271bv64) == 10bv8); + free requires (memory_load8_le(mem, 2272bv64) == 0bv8); + free requires (memory_load8_le(mem, 2273bv64) == 0bv8); + free requires (memory_load8_le(mem, 2274bv64) == 0bv8); + free requires (memory_load8_le(mem, 2275bv64) == 0bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 0bv8); + free requires (memory_load8_le(mem, 2278bv64) == 0bv8); + free requires (memory_load8_le(mem, 2279bv64) == 0bv8); + free requires (memory_load8_le(mem, 2280bv64) == 84bv8); + free requires (memory_load8_le(mem, 2281bv64) == 104bv8); + free requires (memory_load8_le(mem, 2282bv64) == 101bv8); + free requires (memory_load8_le(mem, 2283bv64) == 32bv8); + free requires (memory_load8_le(mem, 2284bv64) == 105bv8); + free requires (memory_load8_le(mem, 2285bv64) == 110bv8); + free requires (memory_load8_le(mem, 2286bv64) == 116bv8); + free requires (memory_load8_le(mem, 2287bv64) == 32bv8); + free requires (memory_load8_le(mem, 2288bv64) == 105bv8); + free requires (memory_load8_le(mem, 2289bv64) == 115bv8); + free requires (memory_load8_le(mem, 2290bv64) == 58bv8); + free requires (memory_load8_le(mem, 2291bv64) == 32bv8); + free requires (memory_load8_le(mem, 2292bv64) == 37bv8); + free requires (memory_load8_le(mem, 2293bv64) == 100bv8); + free requires (memory_load8_le(mem, 2294bv64) == 10bv8); + free requires (memory_load8_le(mem, 2295bv64) == 0bv8); + free requires (memory_load8_le(mem, 2296bv64) == 84bv8); + free requires (memory_load8_le(mem, 2297bv64) == 104bv8); + free requires (memory_load8_le(mem, 2298bv64) == 101bv8); + free requires (memory_load8_le(mem, 2299bv64) == 32bv8); + free requires (memory_load8_le(mem, 2300bv64) == 108bv8); + free requires (memory_load8_le(mem, 2301bv64) == 111bv8); + free requires (memory_load8_le(mem, 2302bv64) == 99bv8); + free requires (memory_load8_le(mem, 2303bv64) == 97bv8); + free requires (memory_load8_le(mem, 2304bv64) == 108bv8); + free requires (memory_load8_le(mem, 2305bv64) == 32bv8); + free requires (memory_load8_le(mem, 2306bv64) == 118bv8); + free requires (memory_load8_le(mem, 2307bv64) == 97bv8); + free requires (memory_load8_le(mem, 2308bv64) == 114bv8); + free requires (memory_load8_le(mem, 2309bv64) == 105bv8); + free requires (memory_load8_le(mem, 2310bv64) == 97bv8); + free requires (memory_load8_le(mem, 2311bv64) == 98bv8); + free requires (memory_load8_le(mem, 2312bv64) == 108bv8); + free requires (memory_load8_le(mem, 2313bv64) == 101bv8); + free requires (memory_load8_le(mem, 2314bv64) == 32bv8); + free requires (memory_load8_le(mem, 2315bv64) == 105bv8); + free requires (memory_load8_le(mem, 2316bv64) == 115bv8); + free requires (memory_load8_le(mem, 2317bv64) == 58bv8); + free requires (memory_load8_le(mem, 2318bv64) == 32bv8); + free requires (memory_load8_le(mem, 2319bv64) == 37bv8); + free requires (memory_load8_le(mem, 2320bv64) == 100bv8); + free requires (memory_load8_le(mem, 2321bv64) == 10bv8); + free requires (memory_load8_le(mem, 2322bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure printf(); + free requires (memory_load8_le(mem, 2248bv64) == 1bv8); + free requires (memory_load8_le(mem, 2249bv64) == 0bv8); + free requires (memory_load8_le(mem, 2250bv64) == 2bv8); + free requires (memory_load8_le(mem, 2251bv64) == 0bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 0bv8); + free requires (memory_load8_le(mem, 2254bv64) == 0bv8); + free requires (memory_load8_le(mem, 2255bv64) == 0bv8); + free requires (memory_load8_le(mem, 2256bv64) == 84bv8); + free requires (memory_load8_le(mem, 2257bv64) == 104bv8); + free requires (memory_load8_le(mem, 2258bv64) == 101bv8); + free requires (memory_load8_le(mem, 2259bv64) == 32bv8); + free requires (memory_load8_le(mem, 2260bv64) == 99bv8); + free requires (memory_load8_le(mem, 2261bv64) == 104bv8); + free requires (memory_load8_le(mem, 2262bv64) == 97bv8); + free requires (memory_load8_le(mem, 2263bv64) == 114bv8); + free requires (memory_load8_le(mem, 2264bv64) == 32bv8); + free requires (memory_load8_le(mem, 2265bv64) == 105bv8); + free requires (memory_load8_le(mem, 2266bv64) == 115bv8); + free requires (memory_load8_le(mem, 2267bv64) == 58bv8); + free requires (memory_load8_le(mem, 2268bv64) == 32bv8); + free requires (memory_load8_le(mem, 2269bv64) == 37bv8); + free requires (memory_load8_le(mem, 2270bv64) == 99bv8); + free requires (memory_load8_le(mem, 2271bv64) == 10bv8); + free requires (memory_load8_le(mem, 2272bv64) == 0bv8); + free requires (memory_load8_le(mem, 2273bv64) == 0bv8); + free requires (memory_load8_le(mem, 2274bv64) == 0bv8); + free requires (memory_load8_le(mem, 2275bv64) == 0bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 0bv8); + free requires (memory_load8_le(mem, 2278bv64) == 0bv8); + free requires (memory_load8_le(mem, 2279bv64) == 0bv8); + free requires (memory_load8_le(mem, 2280bv64) == 84bv8); + free requires (memory_load8_le(mem, 2281bv64) == 104bv8); + free requires (memory_load8_le(mem, 2282bv64) == 101bv8); + free requires (memory_load8_le(mem, 2283bv64) == 32bv8); + free requires (memory_load8_le(mem, 2284bv64) == 105bv8); + free requires (memory_load8_le(mem, 2285bv64) == 110bv8); + free requires (memory_load8_le(mem, 2286bv64) == 116bv8); + free requires (memory_load8_le(mem, 2287bv64) == 32bv8); + free requires (memory_load8_le(mem, 2288bv64) == 105bv8); + free requires (memory_load8_le(mem, 2289bv64) == 115bv8); + free requires (memory_load8_le(mem, 2290bv64) == 58bv8); + free requires (memory_load8_le(mem, 2291bv64) == 32bv8); + free requires (memory_load8_le(mem, 2292bv64) == 37bv8); + free requires (memory_load8_le(mem, 2293bv64) == 100bv8); + free requires (memory_load8_le(mem, 2294bv64) == 10bv8); + free requires (memory_load8_le(mem, 2295bv64) == 0bv8); + free requires (memory_load8_le(mem, 2296bv64) == 84bv8); + free requires (memory_load8_le(mem, 2297bv64) == 104bv8); + free requires (memory_load8_le(mem, 2298bv64) == 101bv8); + free requires (memory_load8_le(mem, 2299bv64) == 32bv8); + free requires (memory_load8_le(mem, 2300bv64) == 108bv8); + free requires (memory_load8_le(mem, 2301bv64) == 111bv8); + free requires (memory_load8_le(mem, 2302bv64) == 99bv8); + free requires (memory_load8_le(mem, 2303bv64) == 97bv8); + free requires (memory_load8_le(mem, 2304bv64) == 108bv8); + free requires (memory_load8_le(mem, 2305bv64) == 32bv8); + free requires (memory_load8_le(mem, 2306bv64) == 118bv8); + free requires (memory_load8_le(mem, 2307bv64) == 97bv8); + free requires (memory_load8_le(mem, 2308bv64) == 114bv8); + free requires (memory_load8_le(mem, 2309bv64) == 105bv8); + free requires (memory_load8_le(mem, 2310bv64) == 97bv8); + free requires (memory_load8_le(mem, 2311bv64) == 98bv8); + free requires (memory_load8_le(mem, 2312bv64) == 108bv8); + free requires (memory_load8_le(mem, 2313bv64) == 101bv8); + free requires (memory_load8_le(mem, 2314bv64) == 32bv8); + free requires (memory_load8_le(mem, 2315bv64) == 105bv8); + free requires (memory_load8_le(mem, 2316bv64) == 115bv8); + free requires (memory_load8_le(mem, 2317bv64) == 58bv8); + free requires (memory_load8_le(mem, 2318bv64) == 32bv8); + free requires (memory_load8_le(mem, 2319bv64) == 37bv8); + free requires (memory_load8_le(mem, 2320bv64) == 100bv8); + free requires (memory_load8_le(mem, 2321bv64) == 10bv8); + free requires (memory_load8_le(mem, 2322bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); diff --git a/src/test/correct/malloc_with_local/gcc_O2/malloc_with_local.expected b/src/test/correct/malloc_with_local/gcc_O2/malloc_with_local.expected index 7f0560c0d..cb8a83567 100644 --- a/src/test/correct/malloc_with_local/gcc_O2/malloc_with_local.expected +++ b/src/test/correct/malloc_with_local/gcc_O2/malloc_with_local.expected @@ -43,9 +43,115 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2088bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2089bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2090bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2091bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2092bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2093bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2094bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2095bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2096bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2097bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2098bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2099bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2100bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2101bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2102bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2103bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2104bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2105bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2106bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2107bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2108bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2109bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2110bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2111bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2112bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2113bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2114bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2115bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2116bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2117bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2118bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2119bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2120bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2121bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2122bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2123bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2124bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2125bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2126bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2127bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2128bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2129bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2130bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2131bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2132bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2133bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2134bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2135bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2136bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2137bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2138bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2139bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2140bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2141bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2142bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2143bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2144bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2145bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2146bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2147bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2148bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2149bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2150bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2151bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2152bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2153bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2154bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2155bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2156bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2157bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2158bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2159bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2160bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2161bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2162bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -62,9 +168,6 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure __printf_chk(); - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R2, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R1, R2, R29, R30, R31, stack; free requires (memory_load8_le(mem, 2088bv64) == 1bv8); free requires (memory_load8_le(mem, 2089bv64) == 0bv8); free requires (memory_load8_le(mem, 2090bv64) == 2bv8); @@ -140,102 +243,22 @@ procedure main() free requires (memory_load8_le(mem, 2160bv64) == 100bv8); free requires (memory_load8_le(mem, 2161bv64) == 10bv8); free requires (memory_load8_le(mem, 2162bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 224bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 224bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 224bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 224bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 224bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 160bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 16bv8); + free requires (memory_load8_le(mem, 69009bv64) == 8bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 192bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 128bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -244,14 +267,124 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2088bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2089bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2090bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2091bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2092bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2093bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2094bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2095bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2096bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2097bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2098bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2099bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2100bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2101bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2102bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2103bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2104bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2105bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2106bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2107bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2108bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2109bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2110bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2111bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2112bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2113bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2114bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2115bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2116bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2117bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2118bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2119bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2120bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2121bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2122bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2123bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2124bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2125bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2126bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2127bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2128bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2129bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2130bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2131bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2132bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2133bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2134bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2135bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2136bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2137bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2138bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2139bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2140bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2141bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2142bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2143bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2144bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2145bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2146bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2147bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2148bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2149bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2150bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2151bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2152bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2153bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2154bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2155bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2156bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2157bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2158bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2159bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2160bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2161bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2162bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R2, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R1, R2, R29, R30, R31, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -268,10 +401,224 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 2088bv64) == 1bv8); + free requires (memory_load8_le(mem, 2089bv64) == 0bv8); + free requires (memory_load8_le(mem, 2090bv64) == 2bv8); + free requires (memory_load8_le(mem, 2091bv64) == 0bv8); + free requires (memory_load8_le(mem, 2092bv64) == 0bv8); + free requires (memory_load8_le(mem, 2093bv64) == 0bv8); + free requires (memory_load8_le(mem, 2094bv64) == 0bv8); + free requires (memory_load8_le(mem, 2095bv64) == 0bv8); + free requires (memory_load8_le(mem, 2096bv64) == 84bv8); + free requires (memory_load8_le(mem, 2097bv64) == 104bv8); + free requires (memory_load8_le(mem, 2098bv64) == 101bv8); + free requires (memory_load8_le(mem, 2099bv64) == 32bv8); + free requires (memory_load8_le(mem, 2100bv64) == 99bv8); + free requires (memory_load8_le(mem, 2101bv64) == 104bv8); + free requires (memory_load8_le(mem, 2102bv64) == 97bv8); + free requires (memory_load8_le(mem, 2103bv64) == 114bv8); + free requires (memory_load8_le(mem, 2104bv64) == 32bv8); + free requires (memory_load8_le(mem, 2105bv64) == 105bv8); + free requires (memory_load8_le(mem, 2106bv64) == 115bv8); + free requires (memory_load8_le(mem, 2107bv64) == 58bv8); + free requires (memory_load8_le(mem, 2108bv64) == 32bv8); + free requires (memory_load8_le(mem, 2109bv64) == 37bv8); + free requires (memory_load8_le(mem, 2110bv64) == 99bv8); + free requires (memory_load8_le(mem, 2111bv64) == 10bv8); + free requires (memory_load8_le(mem, 2112bv64) == 0bv8); + free requires (memory_load8_le(mem, 2113bv64) == 0bv8); + free requires (memory_load8_le(mem, 2114bv64) == 0bv8); + free requires (memory_load8_le(mem, 2115bv64) == 0bv8); + free requires (memory_load8_le(mem, 2116bv64) == 0bv8); + free requires (memory_load8_le(mem, 2117bv64) == 0bv8); + free requires (memory_load8_le(mem, 2118bv64) == 0bv8); + free requires (memory_load8_le(mem, 2119bv64) == 0bv8); + free requires (memory_load8_le(mem, 2120bv64) == 84bv8); + free requires (memory_load8_le(mem, 2121bv64) == 104bv8); + free requires (memory_load8_le(mem, 2122bv64) == 101bv8); + free requires (memory_load8_le(mem, 2123bv64) == 32bv8); + free requires (memory_load8_le(mem, 2124bv64) == 105bv8); + free requires (memory_load8_le(mem, 2125bv64) == 110bv8); + free requires (memory_load8_le(mem, 2126bv64) == 116bv8); + free requires (memory_load8_le(mem, 2127bv64) == 32bv8); + free requires (memory_load8_le(mem, 2128bv64) == 105bv8); + free requires (memory_load8_le(mem, 2129bv64) == 115bv8); + free requires (memory_load8_le(mem, 2130bv64) == 58bv8); + free requires (memory_load8_le(mem, 2131bv64) == 32bv8); + free requires (memory_load8_le(mem, 2132bv64) == 37bv8); + free requires (memory_load8_le(mem, 2133bv64) == 100bv8); + free requires (memory_load8_le(mem, 2134bv64) == 10bv8); + free requires (memory_load8_le(mem, 2135bv64) == 0bv8); + free requires (memory_load8_le(mem, 2136bv64) == 84bv8); + free requires (memory_load8_le(mem, 2137bv64) == 104bv8); + free requires (memory_load8_le(mem, 2138bv64) == 101bv8); + free requires (memory_load8_le(mem, 2139bv64) == 32bv8); + free requires (memory_load8_le(mem, 2140bv64) == 108bv8); + free requires (memory_load8_le(mem, 2141bv64) == 111bv8); + free requires (memory_load8_le(mem, 2142bv64) == 99bv8); + free requires (memory_load8_le(mem, 2143bv64) == 97bv8); + free requires (memory_load8_le(mem, 2144bv64) == 108bv8); + free requires (memory_load8_le(mem, 2145bv64) == 32bv8); + free requires (memory_load8_le(mem, 2146bv64) == 118bv8); + free requires (memory_load8_le(mem, 2147bv64) == 97bv8); + free requires (memory_load8_le(mem, 2148bv64) == 114bv8); + free requires (memory_load8_le(mem, 2149bv64) == 105bv8); + free requires (memory_load8_le(mem, 2150bv64) == 97bv8); + free requires (memory_load8_le(mem, 2151bv64) == 98bv8); + free requires (memory_load8_le(mem, 2152bv64) == 108bv8); + free requires (memory_load8_le(mem, 2153bv64) == 101bv8); + free requires (memory_load8_le(mem, 2154bv64) == 32bv8); + free requires (memory_load8_le(mem, 2155bv64) == 105bv8); + free requires (memory_load8_le(mem, 2156bv64) == 115bv8); + free requires (memory_load8_le(mem, 2157bv64) == 58bv8); + free requires (memory_load8_le(mem, 2158bv64) == 32bv8); + free requires (memory_load8_le(mem, 2159bv64) == 37bv8); + free requires (memory_load8_le(mem, 2160bv64) == 100bv8); + free requires (memory_load8_le(mem, 2161bv64) == 10bv8); + free requires (memory_load8_le(mem, 2162bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 16bv8); + free requires (memory_load8_le(mem, 69009bv64) == 8bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 192bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 128bv8); + free requires (memory_load8_le(mem, 69617bv64) == 6bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2088bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2089bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2090bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2091bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2092bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2093bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2094bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2095bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2096bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2097bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2098bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2099bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2100bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2101bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2102bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2103bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2104bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2105bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2106bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2107bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2108bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2109bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2110bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2111bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2112bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2113bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2114bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2115bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2116bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2117bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2118bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2119bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2120bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2121bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2122bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2123bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2124bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2125bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2126bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2127bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2128bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2129bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2130bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2131bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2132bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2133bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2134bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2135bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2136bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2137bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2138bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2139bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2140bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2141bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2142bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2143bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2144bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2145bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2146bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2147bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2148bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2149bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2150bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2151bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2152bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2153bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2154bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2155bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2156bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2157bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2158bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2159bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2160bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2161bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2162bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #1: bv64; var Gamma_#1: bool; diff --git a/src/test/correct/malloc_with_local/gcc_no_plt_no_pic/malloc_with_local.expected b/src/test/correct/malloc_with_local/gcc_no_plt_no_pic/malloc_with_local.expected index a6bf83577..2435b1bb3 100644 --- a/src/test/correct/malloc_with_local/gcc_no_plt_no_pic/malloc_with_local.expected +++ b/src/test/correct/malloc_with_local/gcc_no_plt_no_pic/malloc_with_local.expected @@ -71,9 +71,115 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2248bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -90,9 +196,6 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure #free(); - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 2248bv64) == 1bv8); free requires (memory_load8_le(mem, 2249bv64) == 0bv8); free requires (memory_load8_le(mem, 2250bv64) == 2bv8); @@ -168,118 +271,22 @@ procedure main() free requires (memory_load8_le(mem, 2320bv64) == 100bv8); free requires (memory_load8_le(mem, 2321bv64) == 10bv8); free requires (memory_load8_le(mem, 2322bv64) == 0bv8); - free requires (memory_load8_le(mem, 69504bv64) == 0bv8); - free requires (memory_load8_le(mem, 69505bv64) == 0bv8); - free requires (memory_load8_le(mem, 69506bv64) == 0bv8); - free requires (memory_load8_le(mem, 69507bv64) == 0bv8); - free requires (memory_load8_le(mem, 69508bv64) == 0bv8); - free requires (memory_load8_le(mem, 69509bv64) == 0bv8); - free requires (memory_load8_le(mem, 69510bv64) == 0bv8); - free requires (memory_load8_le(mem, 69511bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 64bv8); - free requires (memory_load8_le(mem, 69529bv64) == 6bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 64bv8); - free requires (memory_load8_le(mem, 69537bv64) == 6bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 64bv8); - free requires (memory_load8_le(mem, 69545bv64) == 6bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 64bv8); - free requires (memory_load8_le(mem, 69553bv64) == 6bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 64bv8); - free requires (memory_load8_le(mem, 69561bv64) == 6bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 64bv8); - free requires (memory_load8_le(mem, 69569bv64) == 6bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 64bv8); - free requires (memory_load8_le(mem, 69577bv64) == 6bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 144bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 8bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -288,14 +295,124 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -312,10 +429,224 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 2248bv64) == 1bv8); + free requires (memory_load8_le(mem, 2249bv64) == 0bv8); + free requires (memory_load8_le(mem, 2250bv64) == 2bv8); + free requires (memory_load8_le(mem, 2251bv64) == 0bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 0bv8); + free requires (memory_load8_le(mem, 2254bv64) == 0bv8); + free requires (memory_load8_le(mem, 2255bv64) == 0bv8); + free requires (memory_load8_le(mem, 2256bv64) == 84bv8); + free requires (memory_load8_le(mem, 2257bv64) == 104bv8); + free requires (memory_load8_le(mem, 2258bv64) == 101bv8); + free requires (memory_load8_le(mem, 2259bv64) == 32bv8); + free requires (memory_load8_le(mem, 2260bv64) == 99bv8); + free requires (memory_load8_le(mem, 2261bv64) == 104bv8); + free requires (memory_load8_le(mem, 2262bv64) == 97bv8); + free requires (memory_load8_le(mem, 2263bv64) == 114bv8); + free requires (memory_load8_le(mem, 2264bv64) == 32bv8); + free requires (memory_load8_le(mem, 2265bv64) == 105bv8); + free requires (memory_load8_le(mem, 2266bv64) == 115bv8); + free requires (memory_load8_le(mem, 2267bv64) == 58bv8); + free requires (memory_load8_le(mem, 2268bv64) == 32bv8); + free requires (memory_load8_le(mem, 2269bv64) == 37bv8); + free requires (memory_load8_le(mem, 2270bv64) == 99bv8); + free requires (memory_load8_le(mem, 2271bv64) == 10bv8); + free requires (memory_load8_le(mem, 2272bv64) == 0bv8); + free requires (memory_load8_le(mem, 2273bv64) == 0bv8); + free requires (memory_load8_le(mem, 2274bv64) == 0bv8); + free requires (memory_load8_le(mem, 2275bv64) == 0bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 0bv8); + free requires (memory_load8_le(mem, 2278bv64) == 0bv8); + free requires (memory_load8_le(mem, 2279bv64) == 0bv8); + free requires (memory_load8_le(mem, 2280bv64) == 84bv8); + free requires (memory_load8_le(mem, 2281bv64) == 104bv8); + free requires (memory_load8_le(mem, 2282bv64) == 101bv8); + free requires (memory_load8_le(mem, 2283bv64) == 32bv8); + free requires (memory_load8_le(mem, 2284bv64) == 105bv8); + free requires (memory_load8_le(mem, 2285bv64) == 110bv8); + free requires (memory_load8_le(mem, 2286bv64) == 116bv8); + free requires (memory_load8_le(mem, 2287bv64) == 32bv8); + free requires (memory_load8_le(mem, 2288bv64) == 105bv8); + free requires (memory_load8_le(mem, 2289bv64) == 115bv8); + free requires (memory_load8_le(mem, 2290bv64) == 58bv8); + free requires (memory_load8_le(mem, 2291bv64) == 32bv8); + free requires (memory_load8_le(mem, 2292bv64) == 37bv8); + free requires (memory_load8_le(mem, 2293bv64) == 100bv8); + free requires (memory_load8_le(mem, 2294bv64) == 10bv8); + free requires (memory_load8_le(mem, 2295bv64) == 0bv8); + free requires (memory_load8_le(mem, 2296bv64) == 84bv8); + free requires (memory_load8_le(mem, 2297bv64) == 104bv8); + free requires (memory_load8_le(mem, 2298bv64) == 101bv8); + free requires (memory_load8_le(mem, 2299bv64) == 32bv8); + free requires (memory_load8_le(mem, 2300bv64) == 108bv8); + free requires (memory_load8_le(mem, 2301bv64) == 111bv8); + free requires (memory_load8_le(mem, 2302bv64) == 99bv8); + free requires (memory_load8_le(mem, 2303bv64) == 97bv8); + free requires (memory_load8_le(mem, 2304bv64) == 108bv8); + free requires (memory_load8_le(mem, 2305bv64) == 32bv8); + free requires (memory_load8_le(mem, 2306bv64) == 118bv8); + free requires (memory_load8_le(mem, 2307bv64) == 97bv8); + free requires (memory_load8_le(mem, 2308bv64) == 114bv8); + free requires (memory_load8_le(mem, 2309bv64) == 105bv8); + free requires (memory_load8_le(mem, 2310bv64) == 97bv8); + free requires (memory_load8_le(mem, 2311bv64) == 98bv8); + free requires (memory_load8_le(mem, 2312bv64) == 108bv8); + free requires (memory_load8_le(mem, 2313bv64) == 101bv8); + free requires (memory_load8_le(mem, 2314bv64) == 32bv8); + free requires (memory_load8_le(mem, 2315bv64) == 105bv8); + free requires (memory_load8_le(mem, 2316bv64) == 115bv8); + free requires (memory_load8_le(mem, 2317bv64) == 58bv8); + free requires (memory_load8_le(mem, 2318bv64) == 32bv8); + free requires (memory_load8_le(mem, 2319bv64) == 37bv8); + free requires (memory_load8_le(mem, 2320bv64) == 100bv8); + free requires (memory_load8_le(mem, 2321bv64) == 10bv8); + free requires (memory_load8_le(mem, 2322bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2248bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -398,5 +729,433 @@ procedure main() } procedure malloc(); + free requires (memory_load8_le(mem, 2248bv64) == 1bv8); + free requires (memory_load8_le(mem, 2249bv64) == 0bv8); + free requires (memory_load8_le(mem, 2250bv64) == 2bv8); + free requires (memory_load8_le(mem, 2251bv64) == 0bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 0bv8); + free requires (memory_load8_le(mem, 2254bv64) == 0bv8); + free requires (memory_load8_le(mem, 2255bv64) == 0bv8); + free requires (memory_load8_le(mem, 2256bv64) == 84bv8); + free requires (memory_load8_le(mem, 2257bv64) == 104bv8); + free requires (memory_load8_le(mem, 2258bv64) == 101bv8); + free requires (memory_load8_le(mem, 2259bv64) == 32bv8); + free requires (memory_load8_le(mem, 2260bv64) == 99bv8); + free requires (memory_load8_le(mem, 2261bv64) == 104bv8); + free requires (memory_load8_le(mem, 2262bv64) == 97bv8); + free requires (memory_load8_le(mem, 2263bv64) == 114bv8); + free requires (memory_load8_le(mem, 2264bv64) == 32bv8); + free requires (memory_load8_le(mem, 2265bv64) == 105bv8); + free requires (memory_load8_le(mem, 2266bv64) == 115bv8); + free requires (memory_load8_le(mem, 2267bv64) == 58bv8); + free requires (memory_load8_le(mem, 2268bv64) == 32bv8); + free requires (memory_load8_le(mem, 2269bv64) == 37bv8); + free requires (memory_load8_le(mem, 2270bv64) == 99bv8); + free requires (memory_load8_le(mem, 2271bv64) == 10bv8); + free requires (memory_load8_le(mem, 2272bv64) == 0bv8); + free requires (memory_load8_le(mem, 2273bv64) == 0bv8); + free requires (memory_load8_le(mem, 2274bv64) == 0bv8); + free requires (memory_load8_le(mem, 2275bv64) == 0bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 0bv8); + free requires (memory_load8_le(mem, 2278bv64) == 0bv8); + free requires (memory_load8_le(mem, 2279bv64) == 0bv8); + free requires (memory_load8_le(mem, 2280bv64) == 84bv8); + free requires (memory_load8_le(mem, 2281bv64) == 104bv8); + free requires (memory_load8_le(mem, 2282bv64) == 101bv8); + free requires (memory_load8_le(mem, 2283bv64) == 32bv8); + free requires (memory_load8_le(mem, 2284bv64) == 105bv8); + free requires (memory_load8_le(mem, 2285bv64) == 110bv8); + free requires (memory_load8_le(mem, 2286bv64) == 116bv8); + free requires (memory_load8_le(mem, 2287bv64) == 32bv8); + free requires (memory_load8_le(mem, 2288bv64) == 105bv8); + free requires (memory_load8_le(mem, 2289bv64) == 115bv8); + free requires (memory_load8_le(mem, 2290bv64) == 58bv8); + free requires (memory_load8_le(mem, 2291bv64) == 32bv8); + free requires (memory_load8_le(mem, 2292bv64) == 37bv8); + free requires (memory_load8_le(mem, 2293bv64) == 100bv8); + free requires (memory_load8_le(mem, 2294bv64) == 10bv8); + free requires (memory_load8_le(mem, 2295bv64) == 0bv8); + free requires (memory_load8_le(mem, 2296bv64) == 84bv8); + free requires (memory_load8_le(mem, 2297bv64) == 104bv8); + free requires (memory_load8_le(mem, 2298bv64) == 101bv8); + free requires (memory_load8_le(mem, 2299bv64) == 32bv8); + free requires (memory_load8_le(mem, 2300bv64) == 108bv8); + free requires (memory_load8_le(mem, 2301bv64) == 111bv8); + free requires (memory_load8_le(mem, 2302bv64) == 99bv8); + free requires (memory_load8_le(mem, 2303bv64) == 97bv8); + free requires (memory_load8_le(mem, 2304bv64) == 108bv8); + free requires (memory_load8_le(mem, 2305bv64) == 32bv8); + free requires (memory_load8_le(mem, 2306bv64) == 118bv8); + free requires (memory_load8_le(mem, 2307bv64) == 97bv8); + free requires (memory_load8_le(mem, 2308bv64) == 114bv8); + free requires (memory_load8_le(mem, 2309bv64) == 105bv8); + free requires (memory_load8_le(mem, 2310bv64) == 97bv8); + free requires (memory_load8_le(mem, 2311bv64) == 98bv8); + free requires (memory_load8_le(mem, 2312bv64) == 108bv8); + free requires (memory_load8_le(mem, 2313bv64) == 101bv8); + free requires (memory_load8_le(mem, 2314bv64) == 32bv8); + free requires (memory_load8_le(mem, 2315bv64) == 105bv8); + free requires (memory_load8_le(mem, 2316bv64) == 115bv8); + free requires (memory_load8_le(mem, 2317bv64) == 58bv8); + free requires (memory_load8_le(mem, 2318bv64) == 32bv8); + free requires (memory_load8_le(mem, 2319bv64) == 37bv8); + free requires (memory_load8_le(mem, 2320bv64) == 100bv8); + free requires (memory_load8_le(mem, 2321bv64) == 10bv8); + free requires (memory_load8_le(mem, 2322bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure printf(); + free requires (memory_load8_le(mem, 2248bv64) == 1bv8); + free requires (memory_load8_le(mem, 2249bv64) == 0bv8); + free requires (memory_load8_le(mem, 2250bv64) == 2bv8); + free requires (memory_load8_le(mem, 2251bv64) == 0bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 0bv8); + free requires (memory_load8_le(mem, 2254bv64) == 0bv8); + free requires (memory_load8_le(mem, 2255bv64) == 0bv8); + free requires (memory_load8_le(mem, 2256bv64) == 84bv8); + free requires (memory_load8_le(mem, 2257bv64) == 104bv8); + free requires (memory_load8_le(mem, 2258bv64) == 101bv8); + free requires (memory_load8_le(mem, 2259bv64) == 32bv8); + free requires (memory_load8_le(mem, 2260bv64) == 99bv8); + free requires (memory_load8_le(mem, 2261bv64) == 104bv8); + free requires (memory_load8_le(mem, 2262bv64) == 97bv8); + free requires (memory_load8_le(mem, 2263bv64) == 114bv8); + free requires (memory_load8_le(mem, 2264bv64) == 32bv8); + free requires (memory_load8_le(mem, 2265bv64) == 105bv8); + free requires (memory_load8_le(mem, 2266bv64) == 115bv8); + free requires (memory_load8_le(mem, 2267bv64) == 58bv8); + free requires (memory_load8_le(mem, 2268bv64) == 32bv8); + free requires (memory_load8_le(mem, 2269bv64) == 37bv8); + free requires (memory_load8_le(mem, 2270bv64) == 99bv8); + free requires (memory_load8_le(mem, 2271bv64) == 10bv8); + free requires (memory_load8_le(mem, 2272bv64) == 0bv8); + free requires (memory_load8_le(mem, 2273bv64) == 0bv8); + free requires (memory_load8_le(mem, 2274bv64) == 0bv8); + free requires (memory_load8_le(mem, 2275bv64) == 0bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 0bv8); + free requires (memory_load8_le(mem, 2278bv64) == 0bv8); + free requires (memory_load8_le(mem, 2279bv64) == 0bv8); + free requires (memory_load8_le(mem, 2280bv64) == 84bv8); + free requires (memory_load8_le(mem, 2281bv64) == 104bv8); + free requires (memory_load8_le(mem, 2282bv64) == 101bv8); + free requires (memory_load8_le(mem, 2283bv64) == 32bv8); + free requires (memory_load8_le(mem, 2284bv64) == 105bv8); + free requires (memory_load8_le(mem, 2285bv64) == 110bv8); + free requires (memory_load8_le(mem, 2286bv64) == 116bv8); + free requires (memory_load8_le(mem, 2287bv64) == 32bv8); + free requires (memory_load8_le(mem, 2288bv64) == 105bv8); + free requires (memory_load8_le(mem, 2289bv64) == 115bv8); + free requires (memory_load8_le(mem, 2290bv64) == 58bv8); + free requires (memory_load8_le(mem, 2291bv64) == 32bv8); + free requires (memory_load8_le(mem, 2292bv64) == 37bv8); + free requires (memory_load8_le(mem, 2293bv64) == 100bv8); + free requires (memory_load8_le(mem, 2294bv64) == 10bv8); + free requires (memory_load8_le(mem, 2295bv64) == 0bv8); + free requires (memory_load8_le(mem, 2296bv64) == 84bv8); + free requires (memory_load8_le(mem, 2297bv64) == 104bv8); + free requires (memory_load8_le(mem, 2298bv64) == 101bv8); + free requires (memory_load8_le(mem, 2299bv64) == 32bv8); + free requires (memory_load8_le(mem, 2300bv64) == 108bv8); + free requires (memory_load8_le(mem, 2301bv64) == 111bv8); + free requires (memory_load8_le(mem, 2302bv64) == 99bv8); + free requires (memory_load8_le(mem, 2303bv64) == 97bv8); + free requires (memory_load8_le(mem, 2304bv64) == 108bv8); + free requires (memory_load8_le(mem, 2305bv64) == 32bv8); + free requires (memory_load8_le(mem, 2306bv64) == 118bv8); + free requires (memory_load8_le(mem, 2307bv64) == 97bv8); + free requires (memory_load8_le(mem, 2308bv64) == 114bv8); + free requires (memory_load8_le(mem, 2309bv64) == 105bv8); + free requires (memory_load8_le(mem, 2310bv64) == 97bv8); + free requires (memory_load8_le(mem, 2311bv64) == 98bv8); + free requires (memory_load8_le(mem, 2312bv64) == 108bv8); + free requires (memory_load8_le(mem, 2313bv64) == 101bv8); + free requires (memory_load8_le(mem, 2314bv64) == 32bv8); + free requires (memory_load8_le(mem, 2315bv64) == 105bv8); + free requires (memory_load8_le(mem, 2316bv64) == 115bv8); + free requires (memory_load8_le(mem, 2317bv64) == 58bv8); + free requires (memory_load8_le(mem, 2318bv64) == 32bv8); + free requires (memory_load8_le(mem, 2319bv64) == 37bv8); + free requires (memory_load8_le(mem, 2320bv64) == 100bv8); + free requires (memory_load8_le(mem, 2321bv64) == 10bv8); + free requires (memory_load8_le(mem, 2322bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); diff --git a/src/test/correct/malloc_with_local/gcc_pic/malloc_with_local.expected b/src/test/correct/malloc_with_local/gcc_pic/malloc_with_local.expected index a6bf83577..2435b1bb3 100644 --- a/src/test/correct/malloc_with_local/gcc_pic/malloc_with_local.expected +++ b/src/test/correct/malloc_with_local/gcc_pic/malloc_with_local.expected @@ -71,9 +71,115 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2248bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -90,9 +196,6 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure #free(); - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 2248bv64) == 1bv8); free requires (memory_load8_le(mem, 2249bv64) == 0bv8); free requires (memory_load8_le(mem, 2250bv64) == 2bv8); @@ -168,118 +271,22 @@ procedure main() free requires (memory_load8_le(mem, 2320bv64) == 100bv8); free requires (memory_load8_le(mem, 2321bv64) == 10bv8); free requires (memory_load8_le(mem, 2322bv64) == 0bv8); - free requires (memory_load8_le(mem, 69504bv64) == 0bv8); - free requires (memory_load8_le(mem, 69505bv64) == 0bv8); - free requires (memory_load8_le(mem, 69506bv64) == 0bv8); - free requires (memory_load8_le(mem, 69507bv64) == 0bv8); - free requires (memory_load8_le(mem, 69508bv64) == 0bv8); - free requires (memory_load8_le(mem, 69509bv64) == 0bv8); - free requires (memory_load8_le(mem, 69510bv64) == 0bv8); - free requires (memory_load8_le(mem, 69511bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 64bv8); - free requires (memory_load8_le(mem, 69529bv64) == 6bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 64bv8); - free requires (memory_load8_le(mem, 69537bv64) == 6bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 64bv8); - free requires (memory_load8_le(mem, 69545bv64) == 6bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 64bv8); - free requires (memory_load8_le(mem, 69553bv64) == 6bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 64bv8); - free requires (memory_load8_le(mem, 69561bv64) == 6bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 64bv8); - free requires (memory_load8_le(mem, 69569bv64) == 6bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 64bv8); - free requires (memory_load8_le(mem, 69577bv64) == 6bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 144bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 8bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -288,14 +295,124 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -312,10 +429,224 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 2248bv64) == 1bv8); + free requires (memory_load8_le(mem, 2249bv64) == 0bv8); + free requires (memory_load8_le(mem, 2250bv64) == 2bv8); + free requires (memory_load8_le(mem, 2251bv64) == 0bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 0bv8); + free requires (memory_load8_le(mem, 2254bv64) == 0bv8); + free requires (memory_load8_le(mem, 2255bv64) == 0bv8); + free requires (memory_load8_le(mem, 2256bv64) == 84bv8); + free requires (memory_load8_le(mem, 2257bv64) == 104bv8); + free requires (memory_load8_le(mem, 2258bv64) == 101bv8); + free requires (memory_load8_le(mem, 2259bv64) == 32bv8); + free requires (memory_load8_le(mem, 2260bv64) == 99bv8); + free requires (memory_load8_le(mem, 2261bv64) == 104bv8); + free requires (memory_load8_le(mem, 2262bv64) == 97bv8); + free requires (memory_load8_le(mem, 2263bv64) == 114bv8); + free requires (memory_load8_le(mem, 2264bv64) == 32bv8); + free requires (memory_load8_le(mem, 2265bv64) == 105bv8); + free requires (memory_load8_le(mem, 2266bv64) == 115bv8); + free requires (memory_load8_le(mem, 2267bv64) == 58bv8); + free requires (memory_load8_le(mem, 2268bv64) == 32bv8); + free requires (memory_load8_le(mem, 2269bv64) == 37bv8); + free requires (memory_load8_le(mem, 2270bv64) == 99bv8); + free requires (memory_load8_le(mem, 2271bv64) == 10bv8); + free requires (memory_load8_le(mem, 2272bv64) == 0bv8); + free requires (memory_load8_le(mem, 2273bv64) == 0bv8); + free requires (memory_load8_le(mem, 2274bv64) == 0bv8); + free requires (memory_load8_le(mem, 2275bv64) == 0bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 0bv8); + free requires (memory_load8_le(mem, 2278bv64) == 0bv8); + free requires (memory_load8_le(mem, 2279bv64) == 0bv8); + free requires (memory_load8_le(mem, 2280bv64) == 84bv8); + free requires (memory_load8_le(mem, 2281bv64) == 104bv8); + free requires (memory_load8_le(mem, 2282bv64) == 101bv8); + free requires (memory_load8_le(mem, 2283bv64) == 32bv8); + free requires (memory_load8_le(mem, 2284bv64) == 105bv8); + free requires (memory_load8_le(mem, 2285bv64) == 110bv8); + free requires (memory_load8_le(mem, 2286bv64) == 116bv8); + free requires (memory_load8_le(mem, 2287bv64) == 32bv8); + free requires (memory_load8_le(mem, 2288bv64) == 105bv8); + free requires (memory_load8_le(mem, 2289bv64) == 115bv8); + free requires (memory_load8_le(mem, 2290bv64) == 58bv8); + free requires (memory_load8_le(mem, 2291bv64) == 32bv8); + free requires (memory_load8_le(mem, 2292bv64) == 37bv8); + free requires (memory_load8_le(mem, 2293bv64) == 100bv8); + free requires (memory_load8_le(mem, 2294bv64) == 10bv8); + free requires (memory_load8_le(mem, 2295bv64) == 0bv8); + free requires (memory_load8_le(mem, 2296bv64) == 84bv8); + free requires (memory_load8_le(mem, 2297bv64) == 104bv8); + free requires (memory_load8_le(mem, 2298bv64) == 101bv8); + free requires (memory_load8_le(mem, 2299bv64) == 32bv8); + free requires (memory_load8_le(mem, 2300bv64) == 108bv8); + free requires (memory_load8_le(mem, 2301bv64) == 111bv8); + free requires (memory_load8_le(mem, 2302bv64) == 99bv8); + free requires (memory_load8_le(mem, 2303bv64) == 97bv8); + free requires (memory_load8_le(mem, 2304bv64) == 108bv8); + free requires (memory_load8_le(mem, 2305bv64) == 32bv8); + free requires (memory_load8_le(mem, 2306bv64) == 118bv8); + free requires (memory_load8_le(mem, 2307bv64) == 97bv8); + free requires (memory_load8_le(mem, 2308bv64) == 114bv8); + free requires (memory_load8_le(mem, 2309bv64) == 105bv8); + free requires (memory_load8_le(mem, 2310bv64) == 97bv8); + free requires (memory_load8_le(mem, 2311bv64) == 98bv8); + free requires (memory_load8_le(mem, 2312bv64) == 108bv8); + free requires (memory_load8_le(mem, 2313bv64) == 101bv8); + free requires (memory_load8_le(mem, 2314bv64) == 32bv8); + free requires (memory_load8_le(mem, 2315bv64) == 105bv8); + free requires (memory_load8_le(mem, 2316bv64) == 115bv8); + free requires (memory_load8_le(mem, 2317bv64) == 58bv8); + free requires (memory_load8_le(mem, 2318bv64) == 32bv8); + free requires (memory_load8_le(mem, 2319bv64) == 37bv8); + free requires (memory_load8_le(mem, 2320bv64) == 100bv8); + free requires (memory_load8_le(mem, 2321bv64) == 10bv8); + free requires (memory_load8_le(mem, 2322bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2248bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -398,5 +729,433 @@ procedure main() } procedure malloc(); + free requires (memory_load8_le(mem, 2248bv64) == 1bv8); + free requires (memory_load8_le(mem, 2249bv64) == 0bv8); + free requires (memory_load8_le(mem, 2250bv64) == 2bv8); + free requires (memory_load8_le(mem, 2251bv64) == 0bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 0bv8); + free requires (memory_load8_le(mem, 2254bv64) == 0bv8); + free requires (memory_load8_le(mem, 2255bv64) == 0bv8); + free requires (memory_load8_le(mem, 2256bv64) == 84bv8); + free requires (memory_load8_le(mem, 2257bv64) == 104bv8); + free requires (memory_load8_le(mem, 2258bv64) == 101bv8); + free requires (memory_load8_le(mem, 2259bv64) == 32bv8); + free requires (memory_load8_le(mem, 2260bv64) == 99bv8); + free requires (memory_load8_le(mem, 2261bv64) == 104bv8); + free requires (memory_load8_le(mem, 2262bv64) == 97bv8); + free requires (memory_load8_le(mem, 2263bv64) == 114bv8); + free requires (memory_load8_le(mem, 2264bv64) == 32bv8); + free requires (memory_load8_le(mem, 2265bv64) == 105bv8); + free requires (memory_load8_le(mem, 2266bv64) == 115bv8); + free requires (memory_load8_le(mem, 2267bv64) == 58bv8); + free requires (memory_load8_le(mem, 2268bv64) == 32bv8); + free requires (memory_load8_le(mem, 2269bv64) == 37bv8); + free requires (memory_load8_le(mem, 2270bv64) == 99bv8); + free requires (memory_load8_le(mem, 2271bv64) == 10bv8); + free requires (memory_load8_le(mem, 2272bv64) == 0bv8); + free requires (memory_load8_le(mem, 2273bv64) == 0bv8); + free requires (memory_load8_le(mem, 2274bv64) == 0bv8); + free requires (memory_load8_le(mem, 2275bv64) == 0bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 0bv8); + free requires (memory_load8_le(mem, 2278bv64) == 0bv8); + free requires (memory_load8_le(mem, 2279bv64) == 0bv8); + free requires (memory_load8_le(mem, 2280bv64) == 84bv8); + free requires (memory_load8_le(mem, 2281bv64) == 104bv8); + free requires (memory_load8_le(mem, 2282bv64) == 101bv8); + free requires (memory_load8_le(mem, 2283bv64) == 32bv8); + free requires (memory_load8_le(mem, 2284bv64) == 105bv8); + free requires (memory_load8_le(mem, 2285bv64) == 110bv8); + free requires (memory_load8_le(mem, 2286bv64) == 116bv8); + free requires (memory_load8_le(mem, 2287bv64) == 32bv8); + free requires (memory_load8_le(mem, 2288bv64) == 105bv8); + free requires (memory_load8_le(mem, 2289bv64) == 115bv8); + free requires (memory_load8_le(mem, 2290bv64) == 58bv8); + free requires (memory_load8_le(mem, 2291bv64) == 32bv8); + free requires (memory_load8_le(mem, 2292bv64) == 37bv8); + free requires (memory_load8_le(mem, 2293bv64) == 100bv8); + free requires (memory_load8_le(mem, 2294bv64) == 10bv8); + free requires (memory_load8_le(mem, 2295bv64) == 0bv8); + free requires (memory_load8_le(mem, 2296bv64) == 84bv8); + free requires (memory_load8_le(mem, 2297bv64) == 104bv8); + free requires (memory_load8_le(mem, 2298bv64) == 101bv8); + free requires (memory_load8_le(mem, 2299bv64) == 32bv8); + free requires (memory_load8_le(mem, 2300bv64) == 108bv8); + free requires (memory_load8_le(mem, 2301bv64) == 111bv8); + free requires (memory_load8_le(mem, 2302bv64) == 99bv8); + free requires (memory_load8_le(mem, 2303bv64) == 97bv8); + free requires (memory_load8_le(mem, 2304bv64) == 108bv8); + free requires (memory_load8_le(mem, 2305bv64) == 32bv8); + free requires (memory_load8_le(mem, 2306bv64) == 118bv8); + free requires (memory_load8_le(mem, 2307bv64) == 97bv8); + free requires (memory_load8_le(mem, 2308bv64) == 114bv8); + free requires (memory_load8_le(mem, 2309bv64) == 105bv8); + free requires (memory_load8_le(mem, 2310bv64) == 97bv8); + free requires (memory_load8_le(mem, 2311bv64) == 98bv8); + free requires (memory_load8_le(mem, 2312bv64) == 108bv8); + free requires (memory_load8_le(mem, 2313bv64) == 101bv8); + free requires (memory_load8_le(mem, 2314bv64) == 32bv8); + free requires (memory_load8_le(mem, 2315bv64) == 105bv8); + free requires (memory_load8_le(mem, 2316bv64) == 115bv8); + free requires (memory_load8_le(mem, 2317bv64) == 58bv8); + free requires (memory_load8_le(mem, 2318bv64) == 32bv8); + free requires (memory_load8_le(mem, 2319bv64) == 37bv8); + free requires (memory_load8_le(mem, 2320bv64) == 100bv8); + free requires (memory_load8_le(mem, 2321bv64) == 10bv8); + free requires (memory_load8_le(mem, 2322bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure printf(); + free requires (memory_load8_le(mem, 2248bv64) == 1bv8); + free requires (memory_load8_le(mem, 2249bv64) == 0bv8); + free requires (memory_load8_le(mem, 2250bv64) == 2bv8); + free requires (memory_load8_le(mem, 2251bv64) == 0bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 0bv8); + free requires (memory_load8_le(mem, 2254bv64) == 0bv8); + free requires (memory_load8_le(mem, 2255bv64) == 0bv8); + free requires (memory_load8_le(mem, 2256bv64) == 84bv8); + free requires (memory_load8_le(mem, 2257bv64) == 104bv8); + free requires (memory_load8_le(mem, 2258bv64) == 101bv8); + free requires (memory_load8_le(mem, 2259bv64) == 32bv8); + free requires (memory_load8_le(mem, 2260bv64) == 99bv8); + free requires (memory_load8_le(mem, 2261bv64) == 104bv8); + free requires (memory_load8_le(mem, 2262bv64) == 97bv8); + free requires (memory_load8_le(mem, 2263bv64) == 114bv8); + free requires (memory_load8_le(mem, 2264bv64) == 32bv8); + free requires (memory_load8_le(mem, 2265bv64) == 105bv8); + free requires (memory_load8_le(mem, 2266bv64) == 115bv8); + free requires (memory_load8_le(mem, 2267bv64) == 58bv8); + free requires (memory_load8_le(mem, 2268bv64) == 32bv8); + free requires (memory_load8_le(mem, 2269bv64) == 37bv8); + free requires (memory_load8_le(mem, 2270bv64) == 99bv8); + free requires (memory_load8_le(mem, 2271bv64) == 10bv8); + free requires (memory_load8_le(mem, 2272bv64) == 0bv8); + free requires (memory_load8_le(mem, 2273bv64) == 0bv8); + free requires (memory_load8_le(mem, 2274bv64) == 0bv8); + free requires (memory_load8_le(mem, 2275bv64) == 0bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 0bv8); + free requires (memory_load8_le(mem, 2278bv64) == 0bv8); + free requires (memory_load8_le(mem, 2279bv64) == 0bv8); + free requires (memory_load8_le(mem, 2280bv64) == 84bv8); + free requires (memory_load8_le(mem, 2281bv64) == 104bv8); + free requires (memory_load8_le(mem, 2282bv64) == 101bv8); + free requires (memory_load8_le(mem, 2283bv64) == 32bv8); + free requires (memory_load8_le(mem, 2284bv64) == 105bv8); + free requires (memory_load8_le(mem, 2285bv64) == 110bv8); + free requires (memory_load8_le(mem, 2286bv64) == 116bv8); + free requires (memory_load8_le(mem, 2287bv64) == 32bv8); + free requires (memory_load8_le(mem, 2288bv64) == 105bv8); + free requires (memory_load8_le(mem, 2289bv64) == 115bv8); + free requires (memory_load8_le(mem, 2290bv64) == 58bv8); + free requires (memory_load8_le(mem, 2291bv64) == 32bv8); + free requires (memory_load8_le(mem, 2292bv64) == 37bv8); + free requires (memory_load8_le(mem, 2293bv64) == 100bv8); + free requires (memory_load8_le(mem, 2294bv64) == 10bv8); + free requires (memory_load8_le(mem, 2295bv64) == 0bv8); + free requires (memory_load8_le(mem, 2296bv64) == 84bv8); + free requires (memory_load8_le(mem, 2297bv64) == 104bv8); + free requires (memory_load8_le(mem, 2298bv64) == 101bv8); + free requires (memory_load8_le(mem, 2299bv64) == 32bv8); + free requires (memory_load8_le(mem, 2300bv64) == 108bv8); + free requires (memory_load8_le(mem, 2301bv64) == 111bv8); + free requires (memory_load8_le(mem, 2302bv64) == 99bv8); + free requires (memory_load8_le(mem, 2303bv64) == 97bv8); + free requires (memory_load8_le(mem, 2304bv64) == 108bv8); + free requires (memory_load8_le(mem, 2305bv64) == 32bv8); + free requires (memory_load8_le(mem, 2306bv64) == 118bv8); + free requires (memory_load8_le(mem, 2307bv64) == 97bv8); + free requires (memory_load8_le(mem, 2308bv64) == 114bv8); + free requires (memory_load8_le(mem, 2309bv64) == 105bv8); + free requires (memory_load8_le(mem, 2310bv64) == 97bv8); + free requires (memory_load8_le(mem, 2311bv64) == 98bv8); + free requires (memory_load8_le(mem, 2312bv64) == 108bv8); + free requires (memory_load8_le(mem, 2313bv64) == 101bv8); + free requires (memory_load8_le(mem, 2314bv64) == 32bv8); + free requires (memory_load8_le(mem, 2315bv64) == 105bv8); + free requires (memory_load8_le(mem, 2316bv64) == 115bv8); + free requires (memory_load8_le(mem, 2317bv64) == 58bv8); + free requires (memory_load8_le(mem, 2318bv64) == 32bv8); + free requires (memory_load8_le(mem, 2319bv64) == 37bv8); + free requires (memory_load8_le(mem, 2320bv64) == 100bv8); + free requires (memory_load8_le(mem, 2321bv64) == 10bv8); + free requires (memory_load8_le(mem, 2322bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); diff --git a/src/test/correct/malloc_with_local2/clang/malloc_with_local2.expected b/src/test/correct/malloc_with_local2/clang/malloc_with_local2.expected index bf14c0309..91aadd996 100644 --- a/src/test/correct/malloc_with_local2/clang/malloc_with_local2.expected +++ b/src/test/correct/malloc_with_local2/clang/malloc_with_local2.expected @@ -75,9 +75,104 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2292bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -94,9 +189,6 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure #free(); - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 2292bv64) == 1bv8); free requires (memory_load8_le(mem, 2293bv64) == 0bv8); free requires (memory_load8_le(mem, 2294bv64) == 2bv8); @@ -161,38 +253,22 @@ procedure main() free requires (memory_load8_le(mem, 2353bv64) == 100bv8); free requires (memory_load8_le(mem, 2354bv64) == 10bv8); free requires (memory_load8_le(mem, 2355bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 8bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -201,14 +277,113 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 69688bv64) == 0bv8); free requires (memory_load8_le(mem, 69689bv64) == 0bv8); free requires (memory_load8_le(mem, 69690bv64) == 0bv8); @@ -225,10 +400,202 @@ procedure main() free requires (memory_load8_le(mem, 69701bv64) == 0bv8); free requires (memory_load8_le(mem, 69702bv64) == 0bv8); free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free requires (memory_load8_le(mem, 2292bv64) == 1bv8); + free requires (memory_load8_le(mem, 2293bv64) == 0bv8); + free requires (memory_load8_le(mem, 2294bv64) == 2bv8); + free requires (memory_load8_le(mem, 2295bv64) == 0bv8); + free requires (memory_load8_le(mem, 2296bv64) == 84bv8); + free requires (memory_load8_le(mem, 2297bv64) == 104bv8); + free requires (memory_load8_le(mem, 2298bv64) == 101bv8); + free requires (memory_load8_le(mem, 2299bv64) == 32bv8); + free requires (memory_load8_le(mem, 2300bv64) == 99bv8); + free requires (memory_load8_le(mem, 2301bv64) == 104bv8); + free requires (memory_load8_le(mem, 2302bv64) == 97bv8); + free requires (memory_load8_le(mem, 2303bv64) == 114bv8); + free requires (memory_load8_le(mem, 2304bv64) == 32bv8); + free requires (memory_load8_le(mem, 2305bv64) == 105bv8); + free requires (memory_load8_le(mem, 2306bv64) == 115bv8); + free requires (memory_load8_le(mem, 2307bv64) == 58bv8); + free requires (memory_load8_le(mem, 2308bv64) == 32bv8); + free requires (memory_load8_le(mem, 2309bv64) == 37bv8); + free requires (memory_load8_le(mem, 2310bv64) == 99bv8); + free requires (memory_load8_le(mem, 2311bv64) == 10bv8); + free requires (memory_load8_le(mem, 2312bv64) == 0bv8); + free requires (memory_load8_le(mem, 2313bv64) == 84bv8); + free requires (memory_load8_le(mem, 2314bv64) == 104bv8); + free requires (memory_load8_le(mem, 2315bv64) == 101bv8); + free requires (memory_load8_le(mem, 2316bv64) == 32bv8); + free requires (memory_load8_le(mem, 2317bv64) == 105bv8); + free requires (memory_load8_le(mem, 2318bv64) == 110bv8); + free requires (memory_load8_le(mem, 2319bv64) == 116bv8); + free requires (memory_load8_le(mem, 2320bv64) == 32bv8); + free requires (memory_load8_le(mem, 2321bv64) == 105bv8); + free requires (memory_load8_le(mem, 2322bv64) == 115bv8); + free requires (memory_load8_le(mem, 2323bv64) == 58bv8); + free requires (memory_load8_le(mem, 2324bv64) == 32bv8); + free requires (memory_load8_le(mem, 2325bv64) == 37bv8); + free requires (memory_load8_le(mem, 2326bv64) == 100bv8); + free requires (memory_load8_le(mem, 2327bv64) == 10bv8); + free requires (memory_load8_le(mem, 2328bv64) == 0bv8); + free requires (memory_load8_le(mem, 2329bv64) == 84bv8); + free requires (memory_load8_le(mem, 2330bv64) == 104bv8); + free requires (memory_load8_le(mem, 2331bv64) == 101bv8); + free requires (memory_load8_le(mem, 2332bv64) == 32bv8); + free requires (memory_load8_le(mem, 2333bv64) == 108bv8); + free requires (memory_load8_le(mem, 2334bv64) == 111bv8); + free requires (memory_load8_le(mem, 2335bv64) == 99bv8); + free requires (memory_load8_le(mem, 2336bv64) == 97bv8); + free requires (memory_load8_le(mem, 2337bv64) == 108bv8); + free requires (memory_load8_le(mem, 2338bv64) == 32bv8); + free requires (memory_load8_le(mem, 2339bv64) == 118bv8); + free requires (memory_load8_le(mem, 2340bv64) == 97bv8); + free requires (memory_load8_le(mem, 2341bv64) == 114bv8); + free requires (memory_load8_le(mem, 2342bv64) == 105bv8); + free requires (memory_load8_le(mem, 2343bv64) == 97bv8); + free requires (memory_load8_le(mem, 2344bv64) == 98bv8); + free requires (memory_load8_le(mem, 2345bv64) == 108bv8); + free requires (memory_load8_le(mem, 2346bv64) == 101bv8); + free requires (memory_load8_le(mem, 2347bv64) == 32bv8); + free requires (memory_load8_le(mem, 2348bv64) == 105bv8); + free requires (memory_load8_le(mem, 2349bv64) == 115bv8); + free requires (memory_load8_le(mem, 2350bv64) == 58bv8); + free requires (memory_load8_le(mem, 2351bv64) == 32bv8); + free requires (memory_load8_le(mem, 2352bv64) == 37bv8); + free requires (memory_load8_le(mem, 2353bv64) == 100bv8); + free requires (memory_load8_le(mem, 2354bv64) == 10bv8); + free requires (memory_load8_le(mem, 2355bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2292bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); { var #4: bv64; var #5: bv64; @@ -335,5 +702,389 @@ procedure main() } procedure malloc(); + free requires (memory_load8_le(mem, 2292bv64) == 1bv8); + free requires (memory_load8_le(mem, 2293bv64) == 0bv8); + free requires (memory_load8_le(mem, 2294bv64) == 2bv8); + free requires (memory_load8_le(mem, 2295bv64) == 0bv8); + free requires (memory_load8_le(mem, 2296bv64) == 84bv8); + free requires (memory_load8_le(mem, 2297bv64) == 104bv8); + free requires (memory_load8_le(mem, 2298bv64) == 101bv8); + free requires (memory_load8_le(mem, 2299bv64) == 32bv8); + free requires (memory_load8_le(mem, 2300bv64) == 99bv8); + free requires (memory_load8_le(mem, 2301bv64) == 104bv8); + free requires (memory_load8_le(mem, 2302bv64) == 97bv8); + free requires (memory_load8_le(mem, 2303bv64) == 114bv8); + free requires (memory_load8_le(mem, 2304bv64) == 32bv8); + free requires (memory_load8_le(mem, 2305bv64) == 105bv8); + free requires (memory_load8_le(mem, 2306bv64) == 115bv8); + free requires (memory_load8_le(mem, 2307bv64) == 58bv8); + free requires (memory_load8_le(mem, 2308bv64) == 32bv8); + free requires (memory_load8_le(mem, 2309bv64) == 37bv8); + free requires (memory_load8_le(mem, 2310bv64) == 99bv8); + free requires (memory_load8_le(mem, 2311bv64) == 10bv8); + free requires (memory_load8_le(mem, 2312bv64) == 0bv8); + free requires (memory_load8_le(mem, 2313bv64) == 84bv8); + free requires (memory_load8_le(mem, 2314bv64) == 104bv8); + free requires (memory_load8_le(mem, 2315bv64) == 101bv8); + free requires (memory_load8_le(mem, 2316bv64) == 32bv8); + free requires (memory_load8_le(mem, 2317bv64) == 105bv8); + free requires (memory_load8_le(mem, 2318bv64) == 110bv8); + free requires (memory_load8_le(mem, 2319bv64) == 116bv8); + free requires (memory_load8_le(mem, 2320bv64) == 32bv8); + free requires (memory_load8_le(mem, 2321bv64) == 105bv8); + free requires (memory_load8_le(mem, 2322bv64) == 115bv8); + free requires (memory_load8_le(mem, 2323bv64) == 58bv8); + free requires (memory_load8_le(mem, 2324bv64) == 32bv8); + free requires (memory_load8_le(mem, 2325bv64) == 37bv8); + free requires (memory_load8_le(mem, 2326bv64) == 100bv8); + free requires (memory_load8_le(mem, 2327bv64) == 10bv8); + free requires (memory_load8_le(mem, 2328bv64) == 0bv8); + free requires (memory_load8_le(mem, 2329bv64) == 84bv8); + free requires (memory_load8_le(mem, 2330bv64) == 104bv8); + free requires (memory_load8_le(mem, 2331bv64) == 101bv8); + free requires (memory_load8_le(mem, 2332bv64) == 32bv8); + free requires (memory_load8_le(mem, 2333bv64) == 108bv8); + free requires (memory_load8_le(mem, 2334bv64) == 111bv8); + free requires (memory_load8_le(mem, 2335bv64) == 99bv8); + free requires (memory_load8_le(mem, 2336bv64) == 97bv8); + free requires (memory_load8_le(mem, 2337bv64) == 108bv8); + free requires (memory_load8_le(mem, 2338bv64) == 32bv8); + free requires (memory_load8_le(mem, 2339bv64) == 118bv8); + free requires (memory_load8_le(mem, 2340bv64) == 97bv8); + free requires (memory_load8_le(mem, 2341bv64) == 114bv8); + free requires (memory_load8_le(mem, 2342bv64) == 105bv8); + free requires (memory_load8_le(mem, 2343bv64) == 97bv8); + free requires (memory_load8_le(mem, 2344bv64) == 98bv8); + free requires (memory_load8_le(mem, 2345bv64) == 108bv8); + free requires (memory_load8_le(mem, 2346bv64) == 101bv8); + free requires (memory_load8_le(mem, 2347bv64) == 32bv8); + free requires (memory_load8_le(mem, 2348bv64) == 105bv8); + free requires (memory_load8_le(mem, 2349bv64) == 115bv8); + free requires (memory_load8_le(mem, 2350bv64) == 58bv8); + free requires (memory_load8_le(mem, 2351bv64) == 32bv8); + free requires (memory_load8_le(mem, 2352bv64) == 37bv8); + free requires (memory_load8_le(mem, 2353bv64) == 100bv8); + free requires (memory_load8_le(mem, 2354bv64) == 10bv8); + free requires (memory_load8_le(mem, 2355bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure printf(); + free requires (memory_load8_le(mem, 2292bv64) == 1bv8); + free requires (memory_load8_le(mem, 2293bv64) == 0bv8); + free requires (memory_load8_le(mem, 2294bv64) == 2bv8); + free requires (memory_load8_le(mem, 2295bv64) == 0bv8); + free requires (memory_load8_le(mem, 2296bv64) == 84bv8); + free requires (memory_load8_le(mem, 2297bv64) == 104bv8); + free requires (memory_load8_le(mem, 2298bv64) == 101bv8); + free requires (memory_load8_le(mem, 2299bv64) == 32bv8); + free requires (memory_load8_le(mem, 2300bv64) == 99bv8); + free requires (memory_load8_le(mem, 2301bv64) == 104bv8); + free requires (memory_load8_le(mem, 2302bv64) == 97bv8); + free requires (memory_load8_le(mem, 2303bv64) == 114bv8); + free requires (memory_load8_le(mem, 2304bv64) == 32bv8); + free requires (memory_load8_le(mem, 2305bv64) == 105bv8); + free requires (memory_load8_le(mem, 2306bv64) == 115bv8); + free requires (memory_load8_le(mem, 2307bv64) == 58bv8); + free requires (memory_load8_le(mem, 2308bv64) == 32bv8); + free requires (memory_load8_le(mem, 2309bv64) == 37bv8); + free requires (memory_load8_le(mem, 2310bv64) == 99bv8); + free requires (memory_load8_le(mem, 2311bv64) == 10bv8); + free requires (memory_load8_le(mem, 2312bv64) == 0bv8); + free requires (memory_load8_le(mem, 2313bv64) == 84bv8); + free requires (memory_load8_le(mem, 2314bv64) == 104bv8); + free requires (memory_load8_le(mem, 2315bv64) == 101bv8); + free requires (memory_load8_le(mem, 2316bv64) == 32bv8); + free requires (memory_load8_le(mem, 2317bv64) == 105bv8); + free requires (memory_load8_le(mem, 2318bv64) == 110bv8); + free requires (memory_load8_le(mem, 2319bv64) == 116bv8); + free requires (memory_load8_le(mem, 2320bv64) == 32bv8); + free requires (memory_load8_le(mem, 2321bv64) == 105bv8); + free requires (memory_load8_le(mem, 2322bv64) == 115bv8); + free requires (memory_load8_le(mem, 2323bv64) == 58bv8); + free requires (memory_load8_le(mem, 2324bv64) == 32bv8); + free requires (memory_load8_le(mem, 2325bv64) == 37bv8); + free requires (memory_load8_le(mem, 2326bv64) == 100bv8); + free requires (memory_load8_le(mem, 2327bv64) == 10bv8); + free requires (memory_load8_le(mem, 2328bv64) == 0bv8); + free requires (memory_load8_le(mem, 2329bv64) == 84bv8); + free requires (memory_load8_le(mem, 2330bv64) == 104bv8); + free requires (memory_load8_le(mem, 2331bv64) == 101bv8); + free requires (memory_load8_le(mem, 2332bv64) == 32bv8); + free requires (memory_load8_le(mem, 2333bv64) == 108bv8); + free requires (memory_load8_le(mem, 2334bv64) == 111bv8); + free requires (memory_load8_le(mem, 2335bv64) == 99bv8); + free requires (memory_load8_le(mem, 2336bv64) == 97bv8); + free requires (memory_load8_le(mem, 2337bv64) == 108bv8); + free requires (memory_load8_le(mem, 2338bv64) == 32bv8); + free requires (memory_load8_le(mem, 2339bv64) == 118bv8); + free requires (memory_load8_le(mem, 2340bv64) == 97bv8); + free requires (memory_load8_le(mem, 2341bv64) == 114bv8); + free requires (memory_load8_le(mem, 2342bv64) == 105bv8); + free requires (memory_load8_le(mem, 2343bv64) == 97bv8); + free requires (memory_load8_le(mem, 2344bv64) == 98bv8); + free requires (memory_load8_le(mem, 2345bv64) == 108bv8); + free requires (memory_load8_le(mem, 2346bv64) == 101bv8); + free requires (memory_load8_le(mem, 2347bv64) == 32bv8); + free requires (memory_load8_le(mem, 2348bv64) == 105bv8); + free requires (memory_load8_le(mem, 2349bv64) == 115bv8); + free requires (memory_load8_le(mem, 2350bv64) == 58bv8); + free requires (memory_load8_le(mem, 2351bv64) == 32bv8); + free requires (memory_load8_le(mem, 2352bv64) == 37bv8); + free requires (memory_load8_le(mem, 2353bv64) == 100bv8); + free requires (memory_load8_le(mem, 2354bv64) == 10bv8); + free requires (memory_load8_le(mem, 2355bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); diff --git a/src/test/correct/malloc_with_local2/clang_O2/malloc_with_local2.expected b/src/test/correct/malloc_with_local2/clang_O2/malloc_with_local2.expected index a817cd3ac..85f9277c8 100644 --- a/src/test/correct/malloc_with_local2/clang_O2/malloc_with_local2.expected +++ b/src/test/correct/malloc_with_local2/clang_O2/malloc_with_local2.expected @@ -41,9 +41,104 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1964bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1965bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1966bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1967bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1968bv64) == 84bv8); + free ensures (memory_load8_le(mem, 1969bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1970bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1971bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1972bv64) == 99bv8); + free ensures (memory_load8_le(mem, 1973bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1974bv64) == 97bv8); + free ensures (memory_load8_le(mem, 1975bv64) == 114bv8); + free ensures (memory_load8_le(mem, 1976bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1977bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1978bv64) == 115bv8); + free ensures (memory_load8_le(mem, 1979bv64) == 58bv8); + free ensures (memory_load8_le(mem, 1980bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1981bv64) == 37bv8); + free ensures (memory_load8_le(mem, 1982bv64) == 99bv8); + free ensures (memory_load8_le(mem, 1983bv64) == 10bv8); + free ensures (memory_load8_le(mem, 1984bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1985bv64) == 84bv8); + free ensures (memory_load8_le(mem, 1986bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1987bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1988bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1989bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1990bv64) == 110bv8); + free ensures (memory_load8_le(mem, 1991bv64) == 116bv8); + free ensures (memory_load8_le(mem, 1992bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1993bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1994bv64) == 115bv8); + free ensures (memory_load8_le(mem, 1995bv64) == 58bv8); + free ensures (memory_load8_le(mem, 1996bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1997bv64) == 37bv8); + free ensures (memory_load8_le(mem, 1998bv64) == 100bv8); + free ensures (memory_load8_le(mem, 1999bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2000bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2001bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2002bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2003bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2004bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2005bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2006bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2007bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2008bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2009bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2010bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2011bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2012bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2013bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2014bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2015bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2016bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2017bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2018bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2019bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2020bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2021bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2022bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2023bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2024bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -61,6 +156,22 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R1, R29, R30, R31, stack; + free requires (memory_load8_le(mem, 69672bv64) == 0bv8); + free requires (memory_load8_le(mem, 69673bv64) == 0bv8); + free requires (memory_load8_le(mem, 69674bv64) == 0bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); free requires (memory_load8_le(mem, 1964bv64) == 1bv8); free requires (memory_load8_le(mem, 1965bv64) == 0bv8); free requires (memory_load8_le(mem, 1966bv64) == 2bv8); @@ -125,38 +236,22 @@ procedure main() free requires (memory_load8_le(mem, 2025bv64) == 100bv8); free requires (memory_load8_le(mem, 2026bv64) == 10bv8); free requires (memory_load8_le(mem, 2027bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 84bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -165,22 +260,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 0bv8); - free requires (memory_load8_le(mem, 69673bv64) == 0bv8); - free requires (memory_load8_le(mem, 69674bv64) == 0bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 69680bv64) == 48bv8); free requires (memory_load8_le(mem, 69681bv64) == 16bv8); free requires (memory_load8_le(mem, 69682bv64) == 1bv8); @@ -193,6 +272,102 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1964bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1965bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1966bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1967bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1968bv64) == 84bv8); + free ensures (memory_load8_le(mem, 1969bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1970bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1971bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1972bv64) == 99bv8); + free ensures (memory_load8_le(mem, 1973bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1974bv64) == 97bv8); + free ensures (memory_load8_le(mem, 1975bv64) == 114bv8); + free ensures (memory_load8_le(mem, 1976bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1977bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1978bv64) == 115bv8); + free ensures (memory_load8_le(mem, 1979bv64) == 58bv8); + free ensures (memory_load8_le(mem, 1980bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1981bv64) == 37bv8); + free ensures (memory_load8_le(mem, 1982bv64) == 99bv8); + free ensures (memory_load8_le(mem, 1983bv64) == 10bv8); + free ensures (memory_load8_le(mem, 1984bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1985bv64) == 84bv8); + free ensures (memory_load8_le(mem, 1986bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1987bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1988bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1989bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1990bv64) == 110bv8); + free ensures (memory_load8_le(mem, 1991bv64) == 116bv8); + free ensures (memory_load8_le(mem, 1992bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1993bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1994bv64) == 115bv8); + free ensures (memory_load8_le(mem, 1995bv64) == 58bv8); + free ensures (memory_load8_le(mem, 1996bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1997bv64) == 37bv8); + free ensures (memory_load8_le(mem, 1998bv64) == 100bv8); + free ensures (memory_load8_le(mem, 1999bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2000bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2001bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2002bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2003bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2004bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2005bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2006bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2007bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2008bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2009bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2010bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2011bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2012bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2013bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2014bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2015bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2016bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2017bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2018bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2019bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2020bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2021bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2022bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2023bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2024bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -231,3 +406,195 @@ procedure main() } procedure printf(); + free requires (memory_load8_le(mem, 1964bv64) == 1bv8); + free requires (memory_load8_le(mem, 1965bv64) == 0bv8); + free requires (memory_load8_le(mem, 1966bv64) == 2bv8); + free requires (memory_load8_le(mem, 1967bv64) == 0bv8); + free requires (memory_load8_le(mem, 1968bv64) == 84bv8); + free requires (memory_load8_le(mem, 1969bv64) == 104bv8); + free requires (memory_load8_le(mem, 1970bv64) == 101bv8); + free requires (memory_load8_le(mem, 1971bv64) == 32bv8); + free requires (memory_load8_le(mem, 1972bv64) == 99bv8); + free requires (memory_load8_le(mem, 1973bv64) == 104bv8); + free requires (memory_load8_le(mem, 1974bv64) == 97bv8); + free requires (memory_load8_le(mem, 1975bv64) == 114bv8); + free requires (memory_load8_le(mem, 1976bv64) == 32bv8); + free requires (memory_load8_le(mem, 1977bv64) == 105bv8); + free requires (memory_load8_le(mem, 1978bv64) == 115bv8); + free requires (memory_load8_le(mem, 1979bv64) == 58bv8); + free requires (memory_load8_le(mem, 1980bv64) == 32bv8); + free requires (memory_load8_le(mem, 1981bv64) == 37bv8); + free requires (memory_load8_le(mem, 1982bv64) == 99bv8); + free requires (memory_load8_le(mem, 1983bv64) == 10bv8); + free requires (memory_load8_le(mem, 1984bv64) == 0bv8); + free requires (memory_load8_le(mem, 1985bv64) == 84bv8); + free requires (memory_load8_le(mem, 1986bv64) == 104bv8); + free requires (memory_load8_le(mem, 1987bv64) == 101bv8); + free requires (memory_load8_le(mem, 1988bv64) == 32bv8); + free requires (memory_load8_le(mem, 1989bv64) == 105bv8); + free requires (memory_load8_le(mem, 1990bv64) == 110bv8); + free requires (memory_load8_le(mem, 1991bv64) == 116bv8); + free requires (memory_load8_le(mem, 1992bv64) == 32bv8); + free requires (memory_load8_le(mem, 1993bv64) == 105bv8); + free requires (memory_load8_le(mem, 1994bv64) == 115bv8); + free requires (memory_load8_le(mem, 1995bv64) == 58bv8); + free requires (memory_load8_le(mem, 1996bv64) == 32bv8); + free requires (memory_load8_le(mem, 1997bv64) == 37bv8); + free requires (memory_load8_le(mem, 1998bv64) == 100bv8); + free requires (memory_load8_le(mem, 1999bv64) == 10bv8); + free requires (memory_load8_le(mem, 2000bv64) == 0bv8); + free requires (memory_load8_le(mem, 2001bv64) == 84bv8); + free requires (memory_load8_le(mem, 2002bv64) == 104bv8); + free requires (memory_load8_le(mem, 2003bv64) == 101bv8); + free requires (memory_load8_le(mem, 2004bv64) == 32bv8); + free requires (memory_load8_le(mem, 2005bv64) == 108bv8); + free requires (memory_load8_le(mem, 2006bv64) == 111bv8); + free requires (memory_load8_le(mem, 2007bv64) == 99bv8); + free requires (memory_load8_le(mem, 2008bv64) == 97bv8); + free requires (memory_load8_le(mem, 2009bv64) == 108bv8); + free requires (memory_load8_le(mem, 2010bv64) == 32bv8); + free requires (memory_load8_le(mem, 2011bv64) == 118bv8); + free requires (memory_load8_le(mem, 2012bv64) == 97bv8); + free requires (memory_load8_le(mem, 2013bv64) == 114bv8); + free requires (memory_load8_le(mem, 2014bv64) == 105bv8); + free requires (memory_load8_le(mem, 2015bv64) == 97bv8); + free requires (memory_load8_le(mem, 2016bv64) == 98bv8); + free requires (memory_load8_le(mem, 2017bv64) == 108bv8); + free requires (memory_load8_le(mem, 2018bv64) == 101bv8); + free requires (memory_load8_le(mem, 2019bv64) == 32bv8); + free requires (memory_load8_le(mem, 2020bv64) == 105bv8); + free requires (memory_load8_le(mem, 2021bv64) == 115bv8); + free requires (memory_load8_le(mem, 2022bv64) == 58bv8); + free requires (memory_load8_le(mem, 2023bv64) == 32bv8); + free requires (memory_load8_le(mem, 2024bv64) == 37bv8); + free requires (memory_load8_le(mem, 2025bv64) == 100bv8); + free requires (memory_load8_le(mem, 2026bv64) == 10bv8); + free requires (memory_load8_le(mem, 2027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 84bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1964bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1965bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1966bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1967bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1968bv64) == 84bv8); + free ensures (memory_load8_le(mem, 1969bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1970bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1971bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1972bv64) == 99bv8); + free ensures (memory_load8_le(mem, 1973bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1974bv64) == 97bv8); + free ensures (memory_load8_le(mem, 1975bv64) == 114bv8); + free ensures (memory_load8_le(mem, 1976bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1977bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1978bv64) == 115bv8); + free ensures (memory_load8_le(mem, 1979bv64) == 58bv8); + free ensures (memory_load8_le(mem, 1980bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1981bv64) == 37bv8); + free ensures (memory_load8_le(mem, 1982bv64) == 99bv8); + free ensures (memory_load8_le(mem, 1983bv64) == 10bv8); + free ensures (memory_load8_le(mem, 1984bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1985bv64) == 84bv8); + free ensures (memory_load8_le(mem, 1986bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1987bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1988bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1989bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1990bv64) == 110bv8); + free ensures (memory_load8_le(mem, 1991bv64) == 116bv8); + free ensures (memory_load8_le(mem, 1992bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1993bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1994bv64) == 115bv8); + free ensures (memory_load8_le(mem, 1995bv64) == 58bv8); + free ensures (memory_load8_le(mem, 1996bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1997bv64) == 37bv8); + free ensures (memory_load8_le(mem, 1998bv64) == 100bv8); + free ensures (memory_load8_le(mem, 1999bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2000bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2001bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2002bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2003bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2004bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2005bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2006bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2007bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2008bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2009bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2010bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2011bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2012bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2013bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2014bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2015bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2016bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2017bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2018bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2019bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2020bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2021bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2022bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2023bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2024bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); diff --git a/src/test/correct/malloc_with_local2/clang_no_plt_no_pic/malloc_with_local2.expected b/src/test/correct/malloc_with_local2/clang_no_plt_no_pic/malloc_with_local2.expected index 32484ad95..387244edc 100644 --- a/src/test/correct/malloc_with_local2/clang_no_plt_no_pic/malloc_with_local2.expected +++ b/src/test/correct/malloc_with_local2/clang_no_plt_no_pic/malloc_with_local2.expected @@ -75,9 +75,104 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2292bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -94,9 +189,6 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure #free(); - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 2292bv64) == 1bv8); free requires (memory_load8_le(mem, 2293bv64) == 0bv8); free requires (memory_load8_le(mem, 2294bv64) == 2bv8); @@ -161,38 +253,22 @@ procedure main() free requires (memory_load8_le(mem, 2353bv64) == 100bv8); free requires (memory_load8_le(mem, 2354bv64) == 10bv8); free requires (memory_load8_le(mem, 2355bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 8bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -201,14 +277,113 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 69688bv64) == 0bv8); free requires (memory_load8_le(mem, 69689bv64) == 0bv8); free requires (memory_load8_le(mem, 69690bv64) == 0bv8); @@ -225,10 +400,202 @@ procedure main() free requires (memory_load8_le(mem, 69701bv64) == 0bv8); free requires (memory_load8_le(mem, 69702bv64) == 0bv8); free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free requires (memory_load8_le(mem, 2292bv64) == 1bv8); + free requires (memory_load8_le(mem, 2293bv64) == 0bv8); + free requires (memory_load8_le(mem, 2294bv64) == 2bv8); + free requires (memory_load8_le(mem, 2295bv64) == 0bv8); + free requires (memory_load8_le(mem, 2296bv64) == 84bv8); + free requires (memory_load8_le(mem, 2297bv64) == 104bv8); + free requires (memory_load8_le(mem, 2298bv64) == 101bv8); + free requires (memory_load8_le(mem, 2299bv64) == 32bv8); + free requires (memory_load8_le(mem, 2300bv64) == 99bv8); + free requires (memory_load8_le(mem, 2301bv64) == 104bv8); + free requires (memory_load8_le(mem, 2302bv64) == 97bv8); + free requires (memory_load8_le(mem, 2303bv64) == 114bv8); + free requires (memory_load8_le(mem, 2304bv64) == 32bv8); + free requires (memory_load8_le(mem, 2305bv64) == 105bv8); + free requires (memory_load8_le(mem, 2306bv64) == 115bv8); + free requires (memory_load8_le(mem, 2307bv64) == 58bv8); + free requires (memory_load8_le(mem, 2308bv64) == 32bv8); + free requires (memory_load8_le(mem, 2309bv64) == 37bv8); + free requires (memory_load8_le(mem, 2310bv64) == 99bv8); + free requires (memory_load8_le(mem, 2311bv64) == 10bv8); + free requires (memory_load8_le(mem, 2312bv64) == 0bv8); + free requires (memory_load8_le(mem, 2313bv64) == 84bv8); + free requires (memory_load8_le(mem, 2314bv64) == 104bv8); + free requires (memory_load8_le(mem, 2315bv64) == 101bv8); + free requires (memory_load8_le(mem, 2316bv64) == 32bv8); + free requires (memory_load8_le(mem, 2317bv64) == 105bv8); + free requires (memory_load8_le(mem, 2318bv64) == 110bv8); + free requires (memory_load8_le(mem, 2319bv64) == 116bv8); + free requires (memory_load8_le(mem, 2320bv64) == 32bv8); + free requires (memory_load8_le(mem, 2321bv64) == 105bv8); + free requires (memory_load8_le(mem, 2322bv64) == 115bv8); + free requires (memory_load8_le(mem, 2323bv64) == 58bv8); + free requires (memory_load8_le(mem, 2324bv64) == 32bv8); + free requires (memory_load8_le(mem, 2325bv64) == 37bv8); + free requires (memory_load8_le(mem, 2326bv64) == 100bv8); + free requires (memory_load8_le(mem, 2327bv64) == 10bv8); + free requires (memory_load8_le(mem, 2328bv64) == 0bv8); + free requires (memory_load8_le(mem, 2329bv64) == 84bv8); + free requires (memory_load8_le(mem, 2330bv64) == 104bv8); + free requires (memory_load8_le(mem, 2331bv64) == 101bv8); + free requires (memory_load8_le(mem, 2332bv64) == 32bv8); + free requires (memory_load8_le(mem, 2333bv64) == 108bv8); + free requires (memory_load8_le(mem, 2334bv64) == 111bv8); + free requires (memory_load8_le(mem, 2335bv64) == 99bv8); + free requires (memory_load8_le(mem, 2336bv64) == 97bv8); + free requires (memory_load8_le(mem, 2337bv64) == 108bv8); + free requires (memory_load8_le(mem, 2338bv64) == 32bv8); + free requires (memory_load8_le(mem, 2339bv64) == 118bv8); + free requires (memory_load8_le(mem, 2340bv64) == 97bv8); + free requires (memory_load8_le(mem, 2341bv64) == 114bv8); + free requires (memory_load8_le(mem, 2342bv64) == 105bv8); + free requires (memory_load8_le(mem, 2343bv64) == 97bv8); + free requires (memory_load8_le(mem, 2344bv64) == 98bv8); + free requires (memory_load8_le(mem, 2345bv64) == 108bv8); + free requires (memory_load8_le(mem, 2346bv64) == 101bv8); + free requires (memory_load8_le(mem, 2347bv64) == 32bv8); + free requires (memory_load8_le(mem, 2348bv64) == 105bv8); + free requires (memory_load8_le(mem, 2349bv64) == 115bv8); + free requires (memory_load8_le(mem, 2350bv64) == 58bv8); + free requires (memory_load8_le(mem, 2351bv64) == 32bv8); + free requires (memory_load8_le(mem, 2352bv64) == 37bv8); + free requires (memory_load8_le(mem, 2353bv64) == 100bv8); + free requires (memory_load8_le(mem, 2354bv64) == 10bv8); + free requires (memory_load8_le(mem, 2355bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2292bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); { var #4: bv64; var #5: bv64; @@ -335,5 +702,389 @@ procedure main() } procedure malloc(); + free requires (memory_load8_le(mem, 2292bv64) == 1bv8); + free requires (memory_load8_le(mem, 2293bv64) == 0bv8); + free requires (memory_load8_le(mem, 2294bv64) == 2bv8); + free requires (memory_load8_le(mem, 2295bv64) == 0bv8); + free requires (memory_load8_le(mem, 2296bv64) == 84bv8); + free requires (memory_load8_le(mem, 2297bv64) == 104bv8); + free requires (memory_load8_le(mem, 2298bv64) == 101bv8); + free requires (memory_load8_le(mem, 2299bv64) == 32bv8); + free requires (memory_load8_le(mem, 2300bv64) == 99bv8); + free requires (memory_load8_le(mem, 2301bv64) == 104bv8); + free requires (memory_load8_le(mem, 2302bv64) == 97bv8); + free requires (memory_load8_le(mem, 2303bv64) == 114bv8); + free requires (memory_load8_le(mem, 2304bv64) == 32bv8); + free requires (memory_load8_le(mem, 2305bv64) == 105bv8); + free requires (memory_load8_le(mem, 2306bv64) == 115bv8); + free requires (memory_load8_le(mem, 2307bv64) == 58bv8); + free requires (memory_load8_le(mem, 2308bv64) == 32bv8); + free requires (memory_load8_le(mem, 2309bv64) == 37bv8); + free requires (memory_load8_le(mem, 2310bv64) == 99bv8); + free requires (memory_load8_le(mem, 2311bv64) == 10bv8); + free requires (memory_load8_le(mem, 2312bv64) == 0bv8); + free requires (memory_load8_le(mem, 2313bv64) == 84bv8); + free requires (memory_load8_le(mem, 2314bv64) == 104bv8); + free requires (memory_load8_le(mem, 2315bv64) == 101bv8); + free requires (memory_load8_le(mem, 2316bv64) == 32bv8); + free requires (memory_load8_le(mem, 2317bv64) == 105bv8); + free requires (memory_load8_le(mem, 2318bv64) == 110bv8); + free requires (memory_load8_le(mem, 2319bv64) == 116bv8); + free requires (memory_load8_le(mem, 2320bv64) == 32bv8); + free requires (memory_load8_le(mem, 2321bv64) == 105bv8); + free requires (memory_load8_le(mem, 2322bv64) == 115bv8); + free requires (memory_load8_le(mem, 2323bv64) == 58bv8); + free requires (memory_load8_le(mem, 2324bv64) == 32bv8); + free requires (memory_load8_le(mem, 2325bv64) == 37bv8); + free requires (memory_load8_le(mem, 2326bv64) == 100bv8); + free requires (memory_load8_le(mem, 2327bv64) == 10bv8); + free requires (memory_load8_le(mem, 2328bv64) == 0bv8); + free requires (memory_load8_le(mem, 2329bv64) == 84bv8); + free requires (memory_load8_le(mem, 2330bv64) == 104bv8); + free requires (memory_load8_le(mem, 2331bv64) == 101bv8); + free requires (memory_load8_le(mem, 2332bv64) == 32bv8); + free requires (memory_load8_le(mem, 2333bv64) == 108bv8); + free requires (memory_load8_le(mem, 2334bv64) == 111bv8); + free requires (memory_load8_le(mem, 2335bv64) == 99bv8); + free requires (memory_load8_le(mem, 2336bv64) == 97bv8); + free requires (memory_load8_le(mem, 2337bv64) == 108bv8); + free requires (memory_load8_le(mem, 2338bv64) == 32bv8); + free requires (memory_load8_le(mem, 2339bv64) == 118bv8); + free requires (memory_load8_le(mem, 2340bv64) == 97bv8); + free requires (memory_load8_le(mem, 2341bv64) == 114bv8); + free requires (memory_load8_le(mem, 2342bv64) == 105bv8); + free requires (memory_load8_le(mem, 2343bv64) == 97bv8); + free requires (memory_load8_le(mem, 2344bv64) == 98bv8); + free requires (memory_load8_le(mem, 2345bv64) == 108bv8); + free requires (memory_load8_le(mem, 2346bv64) == 101bv8); + free requires (memory_load8_le(mem, 2347bv64) == 32bv8); + free requires (memory_load8_le(mem, 2348bv64) == 105bv8); + free requires (memory_load8_le(mem, 2349bv64) == 115bv8); + free requires (memory_load8_le(mem, 2350bv64) == 58bv8); + free requires (memory_load8_le(mem, 2351bv64) == 32bv8); + free requires (memory_load8_le(mem, 2352bv64) == 37bv8); + free requires (memory_load8_le(mem, 2353bv64) == 100bv8); + free requires (memory_load8_le(mem, 2354bv64) == 10bv8); + free requires (memory_load8_le(mem, 2355bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure printf(); + free requires (memory_load8_le(mem, 2292bv64) == 1bv8); + free requires (memory_load8_le(mem, 2293bv64) == 0bv8); + free requires (memory_load8_le(mem, 2294bv64) == 2bv8); + free requires (memory_load8_le(mem, 2295bv64) == 0bv8); + free requires (memory_load8_le(mem, 2296bv64) == 84bv8); + free requires (memory_load8_le(mem, 2297bv64) == 104bv8); + free requires (memory_load8_le(mem, 2298bv64) == 101bv8); + free requires (memory_load8_le(mem, 2299bv64) == 32bv8); + free requires (memory_load8_le(mem, 2300bv64) == 99bv8); + free requires (memory_load8_le(mem, 2301bv64) == 104bv8); + free requires (memory_load8_le(mem, 2302bv64) == 97bv8); + free requires (memory_load8_le(mem, 2303bv64) == 114bv8); + free requires (memory_load8_le(mem, 2304bv64) == 32bv8); + free requires (memory_load8_le(mem, 2305bv64) == 105bv8); + free requires (memory_load8_le(mem, 2306bv64) == 115bv8); + free requires (memory_load8_le(mem, 2307bv64) == 58bv8); + free requires (memory_load8_le(mem, 2308bv64) == 32bv8); + free requires (memory_load8_le(mem, 2309bv64) == 37bv8); + free requires (memory_load8_le(mem, 2310bv64) == 99bv8); + free requires (memory_load8_le(mem, 2311bv64) == 10bv8); + free requires (memory_load8_le(mem, 2312bv64) == 0bv8); + free requires (memory_load8_le(mem, 2313bv64) == 84bv8); + free requires (memory_load8_le(mem, 2314bv64) == 104bv8); + free requires (memory_load8_le(mem, 2315bv64) == 101bv8); + free requires (memory_load8_le(mem, 2316bv64) == 32bv8); + free requires (memory_load8_le(mem, 2317bv64) == 105bv8); + free requires (memory_load8_le(mem, 2318bv64) == 110bv8); + free requires (memory_load8_le(mem, 2319bv64) == 116bv8); + free requires (memory_load8_le(mem, 2320bv64) == 32bv8); + free requires (memory_load8_le(mem, 2321bv64) == 105bv8); + free requires (memory_load8_le(mem, 2322bv64) == 115bv8); + free requires (memory_load8_le(mem, 2323bv64) == 58bv8); + free requires (memory_load8_le(mem, 2324bv64) == 32bv8); + free requires (memory_load8_le(mem, 2325bv64) == 37bv8); + free requires (memory_load8_le(mem, 2326bv64) == 100bv8); + free requires (memory_load8_le(mem, 2327bv64) == 10bv8); + free requires (memory_load8_le(mem, 2328bv64) == 0bv8); + free requires (memory_load8_le(mem, 2329bv64) == 84bv8); + free requires (memory_load8_le(mem, 2330bv64) == 104bv8); + free requires (memory_load8_le(mem, 2331bv64) == 101bv8); + free requires (memory_load8_le(mem, 2332bv64) == 32bv8); + free requires (memory_load8_le(mem, 2333bv64) == 108bv8); + free requires (memory_load8_le(mem, 2334bv64) == 111bv8); + free requires (memory_load8_le(mem, 2335bv64) == 99bv8); + free requires (memory_load8_le(mem, 2336bv64) == 97bv8); + free requires (memory_load8_le(mem, 2337bv64) == 108bv8); + free requires (memory_load8_le(mem, 2338bv64) == 32bv8); + free requires (memory_load8_le(mem, 2339bv64) == 118bv8); + free requires (memory_load8_le(mem, 2340bv64) == 97bv8); + free requires (memory_load8_le(mem, 2341bv64) == 114bv8); + free requires (memory_load8_le(mem, 2342bv64) == 105bv8); + free requires (memory_load8_le(mem, 2343bv64) == 97bv8); + free requires (memory_load8_le(mem, 2344bv64) == 98bv8); + free requires (memory_load8_le(mem, 2345bv64) == 108bv8); + free requires (memory_load8_le(mem, 2346bv64) == 101bv8); + free requires (memory_load8_le(mem, 2347bv64) == 32bv8); + free requires (memory_load8_le(mem, 2348bv64) == 105bv8); + free requires (memory_load8_le(mem, 2349bv64) == 115bv8); + free requires (memory_load8_le(mem, 2350bv64) == 58bv8); + free requires (memory_load8_le(mem, 2351bv64) == 32bv8); + free requires (memory_load8_le(mem, 2352bv64) == 37bv8); + free requires (memory_load8_le(mem, 2353bv64) == 100bv8); + free requires (memory_load8_le(mem, 2354bv64) == 10bv8); + free requires (memory_load8_le(mem, 2355bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); diff --git a/src/test/correct/malloc_with_local2/clang_pic/malloc_with_local2.expected b/src/test/correct/malloc_with_local2/clang_pic/malloc_with_local2.expected index 32484ad95..387244edc 100644 --- a/src/test/correct/malloc_with_local2/clang_pic/malloc_with_local2.expected +++ b/src/test/correct/malloc_with_local2/clang_pic/malloc_with_local2.expected @@ -75,9 +75,104 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2292bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -94,9 +189,6 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure #free(); - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 2292bv64) == 1bv8); free requires (memory_load8_le(mem, 2293bv64) == 0bv8); free requires (memory_load8_le(mem, 2294bv64) == 2bv8); @@ -161,38 +253,22 @@ procedure main() free requires (memory_load8_le(mem, 2353bv64) == 100bv8); free requires (memory_load8_le(mem, 2354bv64) == 10bv8); free requires (memory_load8_le(mem, 2355bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 8bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -201,14 +277,113 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 69688bv64) == 0bv8); free requires (memory_load8_le(mem, 69689bv64) == 0bv8); free requires (memory_load8_le(mem, 69690bv64) == 0bv8); @@ -225,10 +400,202 @@ procedure main() free requires (memory_load8_le(mem, 69701bv64) == 0bv8); free requires (memory_load8_le(mem, 69702bv64) == 0bv8); free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free requires (memory_load8_le(mem, 2292bv64) == 1bv8); + free requires (memory_load8_le(mem, 2293bv64) == 0bv8); + free requires (memory_load8_le(mem, 2294bv64) == 2bv8); + free requires (memory_load8_le(mem, 2295bv64) == 0bv8); + free requires (memory_load8_le(mem, 2296bv64) == 84bv8); + free requires (memory_load8_le(mem, 2297bv64) == 104bv8); + free requires (memory_load8_le(mem, 2298bv64) == 101bv8); + free requires (memory_load8_le(mem, 2299bv64) == 32bv8); + free requires (memory_load8_le(mem, 2300bv64) == 99bv8); + free requires (memory_load8_le(mem, 2301bv64) == 104bv8); + free requires (memory_load8_le(mem, 2302bv64) == 97bv8); + free requires (memory_load8_le(mem, 2303bv64) == 114bv8); + free requires (memory_load8_le(mem, 2304bv64) == 32bv8); + free requires (memory_load8_le(mem, 2305bv64) == 105bv8); + free requires (memory_load8_le(mem, 2306bv64) == 115bv8); + free requires (memory_load8_le(mem, 2307bv64) == 58bv8); + free requires (memory_load8_le(mem, 2308bv64) == 32bv8); + free requires (memory_load8_le(mem, 2309bv64) == 37bv8); + free requires (memory_load8_le(mem, 2310bv64) == 99bv8); + free requires (memory_load8_le(mem, 2311bv64) == 10bv8); + free requires (memory_load8_le(mem, 2312bv64) == 0bv8); + free requires (memory_load8_le(mem, 2313bv64) == 84bv8); + free requires (memory_load8_le(mem, 2314bv64) == 104bv8); + free requires (memory_load8_le(mem, 2315bv64) == 101bv8); + free requires (memory_load8_le(mem, 2316bv64) == 32bv8); + free requires (memory_load8_le(mem, 2317bv64) == 105bv8); + free requires (memory_load8_le(mem, 2318bv64) == 110bv8); + free requires (memory_load8_le(mem, 2319bv64) == 116bv8); + free requires (memory_load8_le(mem, 2320bv64) == 32bv8); + free requires (memory_load8_le(mem, 2321bv64) == 105bv8); + free requires (memory_load8_le(mem, 2322bv64) == 115bv8); + free requires (memory_load8_le(mem, 2323bv64) == 58bv8); + free requires (memory_load8_le(mem, 2324bv64) == 32bv8); + free requires (memory_load8_le(mem, 2325bv64) == 37bv8); + free requires (memory_load8_le(mem, 2326bv64) == 100bv8); + free requires (memory_load8_le(mem, 2327bv64) == 10bv8); + free requires (memory_load8_le(mem, 2328bv64) == 0bv8); + free requires (memory_load8_le(mem, 2329bv64) == 84bv8); + free requires (memory_load8_le(mem, 2330bv64) == 104bv8); + free requires (memory_load8_le(mem, 2331bv64) == 101bv8); + free requires (memory_load8_le(mem, 2332bv64) == 32bv8); + free requires (memory_load8_le(mem, 2333bv64) == 108bv8); + free requires (memory_load8_le(mem, 2334bv64) == 111bv8); + free requires (memory_load8_le(mem, 2335bv64) == 99bv8); + free requires (memory_load8_le(mem, 2336bv64) == 97bv8); + free requires (memory_load8_le(mem, 2337bv64) == 108bv8); + free requires (memory_load8_le(mem, 2338bv64) == 32bv8); + free requires (memory_load8_le(mem, 2339bv64) == 118bv8); + free requires (memory_load8_le(mem, 2340bv64) == 97bv8); + free requires (memory_load8_le(mem, 2341bv64) == 114bv8); + free requires (memory_load8_le(mem, 2342bv64) == 105bv8); + free requires (memory_load8_le(mem, 2343bv64) == 97bv8); + free requires (memory_load8_le(mem, 2344bv64) == 98bv8); + free requires (memory_load8_le(mem, 2345bv64) == 108bv8); + free requires (memory_load8_le(mem, 2346bv64) == 101bv8); + free requires (memory_load8_le(mem, 2347bv64) == 32bv8); + free requires (memory_load8_le(mem, 2348bv64) == 105bv8); + free requires (memory_load8_le(mem, 2349bv64) == 115bv8); + free requires (memory_load8_le(mem, 2350bv64) == 58bv8); + free requires (memory_load8_le(mem, 2351bv64) == 32bv8); + free requires (memory_load8_le(mem, 2352bv64) == 37bv8); + free requires (memory_load8_le(mem, 2353bv64) == 100bv8); + free requires (memory_load8_le(mem, 2354bv64) == 10bv8); + free requires (memory_load8_le(mem, 2355bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2292bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); { var #4: bv64; var #5: bv64; @@ -335,5 +702,389 @@ procedure main() } procedure malloc(); + free requires (memory_load8_le(mem, 2292bv64) == 1bv8); + free requires (memory_load8_le(mem, 2293bv64) == 0bv8); + free requires (memory_load8_le(mem, 2294bv64) == 2bv8); + free requires (memory_load8_le(mem, 2295bv64) == 0bv8); + free requires (memory_load8_le(mem, 2296bv64) == 84bv8); + free requires (memory_load8_le(mem, 2297bv64) == 104bv8); + free requires (memory_load8_le(mem, 2298bv64) == 101bv8); + free requires (memory_load8_le(mem, 2299bv64) == 32bv8); + free requires (memory_load8_le(mem, 2300bv64) == 99bv8); + free requires (memory_load8_le(mem, 2301bv64) == 104bv8); + free requires (memory_load8_le(mem, 2302bv64) == 97bv8); + free requires (memory_load8_le(mem, 2303bv64) == 114bv8); + free requires (memory_load8_le(mem, 2304bv64) == 32bv8); + free requires (memory_load8_le(mem, 2305bv64) == 105bv8); + free requires (memory_load8_le(mem, 2306bv64) == 115bv8); + free requires (memory_load8_le(mem, 2307bv64) == 58bv8); + free requires (memory_load8_le(mem, 2308bv64) == 32bv8); + free requires (memory_load8_le(mem, 2309bv64) == 37bv8); + free requires (memory_load8_le(mem, 2310bv64) == 99bv8); + free requires (memory_load8_le(mem, 2311bv64) == 10bv8); + free requires (memory_load8_le(mem, 2312bv64) == 0bv8); + free requires (memory_load8_le(mem, 2313bv64) == 84bv8); + free requires (memory_load8_le(mem, 2314bv64) == 104bv8); + free requires (memory_load8_le(mem, 2315bv64) == 101bv8); + free requires (memory_load8_le(mem, 2316bv64) == 32bv8); + free requires (memory_load8_le(mem, 2317bv64) == 105bv8); + free requires (memory_load8_le(mem, 2318bv64) == 110bv8); + free requires (memory_load8_le(mem, 2319bv64) == 116bv8); + free requires (memory_load8_le(mem, 2320bv64) == 32bv8); + free requires (memory_load8_le(mem, 2321bv64) == 105bv8); + free requires (memory_load8_le(mem, 2322bv64) == 115bv8); + free requires (memory_load8_le(mem, 2323bv64) == 58bv8); + free requires (memory_load8_le(mem, 2324bv64) == 32bv8); + free requires (memory_load8_le(mem, 2325bv64) == 37bv8); + free requires (memory_load8_le(mem, 2326bv64) == 100bv8); + free requires (memory_load8_le(mem, 2327bv64) == 10bv8); + free requires (memory_load8_le(mem, 2328bv64) == 0bv8); + free requires (memory_load8_le(mem, 2329bv64) == 84bv8); + free requires (memory_load8_le(mem, 2330bv64) == 104bv8); + free requires (memory_load8_le(mem, 2331bv64) == 101bv8); + free requires (memory_load8_le(mem, 2332bv64) == 32bv8); + free requires (memory_load8_le(mem, 2333bv64) == 108bv8); + free requires (memory_load8_le(mem, 2334bv64) == 111bv8); + free requires (memory_load8_le(mem, 2335bv64) == 99bv8); + free requires (memory_load8_le(mem, 2336bv64) == 97bv8); + free requires (memory_load8_le(mem, 2337bv64) == 108bv8); + free requires (memory_load8_le(mem, 2338bv64) == 32bv8); + free requires (memory_load8_le(mem, 2339bv64) == 118bv8); + free requires (memory_load8_le(mem, 2340bv64) == 97bv8); + free requires (memory_load8_le(mem, 2341bv64) == 114bv8); + free requires (memory_load8_le(mem, 2342bv64) == 105bv8); + free requires (memory_load8_le(mem, 2343bv64) == 97bv8); + free requires (memory_load8_le(mem, 2344bv64) == 98bv8); + free requires (memory_load8_le(mem, 2345bv64) == 108bv8); + free requires (memory_load8_le(mem, 2346bv64) == 101bv8); + free requires (memory_load8_le(mem, 2347bv64) == 32bv8); + free requires (memory_load8_le(mem, 2348bv64) == 105bv8); + free requires (memory_load8_le(mem, 2349bv64) == 115bv8); + free requires (memory_load8_le(mem, 2350bv64) == 58bv8); + free requires (memory_load8_le(mem, 2351bv64) == 32bv8); + free requires (memory_load8_le(mem, 2352bv64) == 37bv8); + free requires (memory_load8_le(mem, 2353bv64) == 100bv8); + free requires (memory_load8_le(mem, 2354bv64) == 10bv8); + free requires (memory_load8_le(mem, 2355bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure printf(); + free requires (memory_load8_le(mem, 2292bv64) == 1bv8); + free requires (memory_load8_le(mem, 2293bv64) == 0bv8); + free requires (memory_load8_le(mem, 2294bv64) == 2bv8); + free requires (memory_load8_le(mem, 2295bv64) == 0bv8); + free requires (memory_load8_le(mem, 2296bv64) == 84bv8); + free requires (memory_load8_le(mem, 2297bv64) == 104bv8); + free requires (memory_load8_le(mem, 2298bv64) == 101bv8); + free requires (memory_load8_le(mem, 2299bv64) == 32bv8); + free requires (memory_load8_le(mem, 2300bv64) == 99bv8); + free requires (memory_load8_le(mem, 2301bv64) == 104bv8); + free requires (memory_load8_le(mem, 2302bv64) == 97bv8); + free requires (memory_load8_le(mem, 2303bv64) == 114bv8); + free requires (memory_load8_le(mem, 2304bv64) == 32bv8); + free requires (memory_load8_le(mem, 2305bv64) == 105bv8); + free requires (memory_load8_le(mem, 2306bv64) == 115bv8); + free requires (memory_load8_le(mem, 2307bv64) == 58bv8); + free requires (memory_load8_le(mem, 2308bv64) == 32bv8); + free requires (memory_load8_le(mem, 2309bv64) == 37bv8); + free requires (memory_load8_le(mem, 2310bv64) == 99bv8); + free requires (memory_load8_le(mem, 2311bv64) == 10bv8); + free requires (memory_load8_le(mem, 2312bv64) == 0bv8); + free requires (memory_load8_le(mem, 2313bv64) == 84bv8); + free requires (memory_load8_le(mem, 2314bv64) == 104bv8); + free requires (memory_load8_le(mem, 2315bv64) == 101bv8); + free requires (memory_load8_le(mem, 2316bv64) == 32bv8); + free requires (memory_load8_le(mem, 2317bv64) == 105bv8); + free requires (memory_load8_le(mem, 2318bv64) == 110bv8); + free requires (memory_load8_le(mem, 2319bv64) == 116bv8); + free requires (memory_load8_le(mem, 2320bv64) == 32bv8); + free requires (memory_load8_le(mem, 2321bv64) == 105bv8); + free requires (memory_load8_le(mem, 2322bv64) == 115bv8); + free requires (memory_load8_le(mem, 2323bv64) == 58bv8); + free requires (memory_load8_le(mem, 2324bv64) == 32bv8); + free requires (memory_load8_le(mem, 2325bv64) == 37bv8); + free requires (memory_load8_le(mem, 2326bv64) == 100bv8); + free requires (memory_load8_le(mem, 2327bv64) == 10bv8); + free requires (memory_load8_le(mem, 2328bv64) == 0bv8); + free requires (memory_load8_le(mem, 2329bv64) == 84bv8); + free requires (memory_load8_le(mem, 2330bv64) == 104bv8); + free requires (memory_load8_le(mem, 2331bv64) == 101bv8); + free requires (memory_load8_le(mem, 2332bv64) == 32bv8); + free requires (memory_load8_le(mem, 2333bv64) == 108bv8); + free requires (memory_load8_le(mem, 2334bv64) == 111bv8); + free requires (memory_load8_le(mem, 2335bv64) == 99bv8); + free requires (memory_load8_le(mem, 2336bv64) == 97bv8); + free requires (memory_load8_le(mem, 2337bv64) == 108bv8); + free requires (memory_load8_le(mem, 2338bv64) == 32bv8); + free requires (memory_load8_le(mem, 2339bv64) == 118bv8); + free requires (memory_load8_le(mem, 2340bv64) == 97bv8); + free requires (memory_load8_le(mem, 2341bv64) == 114bv8); + free requires (memory_load8_le(mem, 2342bv64) == 105bv8); + free requires (memory_load8_le(mem, 2343bv64) == 97bv8); + free requires (memory_load8_le(mem, 2344bv64) == 98bv8); + free requires (memory_load8_le(mem, 2345bv64) == 108bv8); + free requires (memory_load8_le(mem, 2346bv64) == 101bv8); + free requires (memory_load8_le(mem, 2347bv64) == 32bv8); + free requires (memory_load8_le(mem, 2348bv64) == 105bv8); + free requires (memory_load8_le(mem, 2349bv64) == 115bv8); + free requires (memory_load8_le(mem, 2350bv64) == 58bv8); + free requires (memory_load8_le(mem, 2351bv64) == 32bv8); + free requires (memory_load8_le(mem, 2352bv64) == 37bv8); + free requires (memory_load8_le(mem, 2353bv64) == 100bv8); + free requires (memory_load8_le(mem, 2354bv64) == 10bv8); + free requires (memory_load8_le(mem, 2355bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); diff --git a/src/test/correct/malloc_with_local2/gcc/malloc_with_local2.expected b/src/test/correct/malloc_with_local2/gcc/malloc_with_local2.expected index 1b8ccaa34..34ef46aec 100644 --- a/src/test/correct/malloc_with_local2/gcc/malloc_with_local2.expected +++ b/src/test/correct/malloc_with_local2/gcc/malloc_with_local2.expected @@ -71,9 +71,115 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2272bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -90,9 +196,6 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure #free(); - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 2272bv64) == 1bv8); free requires (memory_load8_le(mem, 2273bv64) == 0bv8); free requires (memory_load8_le(mem, 2274bv64) == 2bv8); @@ -168,118 +271,22 @@ procedure main() free requires (memory_load8_le(mem, 2344bv64) == 100bv8); free requires (memory_load8_le(mem, 2345bv64) == 10bv8); free requires (memory_load8_le(mem, 2346bv64) == 0bv8); - free requires (memory_load8_le(mem, 69504bv64) == 0bv8); - free requires (memory_load8_le(mem, 69505bv64) == 0bv8); - free requires (memory_load8_le(mem, 69506bv64) == 0bv8); - free requires (memory_load8_le(mem, 69507bv64) == 0bv8); - free requires (memory_load8_le(mem, 69508bv64) == 0bv8); - free requires (memory_load8_le(mem, 69509bv64) == 0bv8); - free requires (memory_load8_le(mem, 69510bv64) == 0bv8); - free requires (memory_load8_le(mem, 69511bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 64bv8); - free requires (memory_load8_le(mem, 69529bv64) == 6bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 64bv8); - free requires (memory_load8_le(mem, 69537bv64) == 6bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 64bv8); - free requires (memory_load8_le(mem, 69545bv64) == 6bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 64bv8); - free requires (memory_load8_le(mem, 69553bv64) == 6bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 64bv8); - free requires (memory_load8_le(mem, 69561bv64) == 6bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 64bv8); - free requires (memory_load8_le(mem, 69569bv64) == 6bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 64bv8); - free requires (memory_load8_le(mem, 69577bv64) == 6bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 144bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 8bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -288,14 +295,124 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -312,10 +429,224 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 2272bv64) == 1bv8); + free requires (memory_load8_le(mem, 2273bv64) == 0bv8); + free requires (memory_load8_le(mem, 2274bv64) == 2bv8); + free requires (memory_load8_le(mem, 2275bv64) == 0bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 0bv8); + free requires (memory_load8_le(mem, 2278bv64) == 0bv8); + free requires (memory_load8_le(mem, 2279bv64) == 0bv8); + free requires (memory_load8_le(mem, 2280bv64) == 84bv8); + free requires (memory_load8_le(mem, 2281bv64) == 104bv8); + free requires (memory_load8_le(mem, 2282bv64) == 101bv8); + free requires (memory_load8_le(mem, 2283bv64) == 32bv8); + free requires (memory_load8_le(mem, 2284bv64) == 99bv8); + free requires (memory_load8_le(mem, 2285bv64) == 104bv8); + free requires (memory_load8_le(mem, 2286bv64) == 97bv8); + free requires (memory_load8_le(mem, 2287bv64) == 114bv8); + free requires (memory_load8_le(mem, 2288bv64) == 32bv8); + free requires (memory_load8_le(mem, 2289bv64) == 105bv8); + free requires (memory_load8_le(mem, 2290bv64) == 115bv8); + free requires (memory_load8_le(mem, 2291bv64) == 58bv8); + free requires (memory_load8_le(mem, 2292bv64) == 32bv8); + free requires (memory_load8_le(mem, 2293bv64) == 37bv8); + free requires (memory_load8_le(mem, 2294bv64) == 99bv8); + free requires (memory_load8_le(mem, 2295bv64) == 10bv8); + free requires (memory_load8_le(mem, 2296bv64) == 0bv8); + free requires (memory_load8_le(mem, 2297bv64) == 0bv8); + free requires (memory_load8_le(mem, 2298bv64) == 0bv8); + free requires (memory_load8_le(mem, 2299bv64) == 0bv8); + free requires (memory_load8_le(mem, 2300bv64) == 0bv8); + free requires (memory_load8_le(mem, 2301bv64) == 0bv8); + free requires (memory_load8_le(mem, 2302bv64) == 0bv8); + free requires (memory_load8_le(mem, 2303bv64) == 0bv8); + free requires (memory_load8_le(mem, 2304bv64) == 84bv8); + free requires (memory_load8_le(mem, 2305bv64) == 104bv8); + free requires (memory_load8_le(mem, 2306bv64) == 101bv8); + free requires (memory_load8_le(mem, 2307bv64) == 32bv8); + free requires (memory_load8_le(mem, 2308bv64) == 105bv8); + free requires (memory_load8_le(mem, 2309bv64) == 110bv8); + free requires (memory_load8_le(mem, 2310bv64) == 116bv8); + free requires (memory_load8_le(mem, 2311bv64) == 32bv8); + free requires (memory_load8_le(mem, 2312bv64) == 105bv8); + free requires (memory_load8_le(mem, 2313bv64) == 115bv8); + free requires (memory_load8_le(mem, 2314bv64) == 58bv8); + free requires (memory_load8_le(mem, 2315bv64) == 32bv8); + free requires (memory_load8_le(mem, 2316bv64) == 37bv8); + free requires (memory_load8_le(mem, 2317bv64) == 100bv8); + free requires (memory_load8_le(mem, 2318bv64) == 10bv8); + free requires (memory_load8_le(mem, 2319bv64) == 0bv8); + free requires (memory_load8_le(mem, 2320bv64) == 84bv8); + free requires (memory_load8_le(mem, 2321bv64) == 104bv8); + free requires (memory_load8_le(mem, 2322bv64) == 101bv8); + free requires (memory_load8_le(mem, 2323bv64) == 32bv8); + free requires (memory_load8_le(mem, 2324bv64) == 108bv8); + free requires (memory_load8_le(mem, 2325bv64) == 111bv8); + free requires (memory_load8_le(mem, 2326bv64) == 99bv8); + free requires (memory_load8_le(mem, 2327bv64) == 97bv8); + free requires (memory_load8_le(mem, 2328bv64) == 108bv8); + free requires (memory_load8_le(mem, 2329bv64) == 32bv8); + free requires (memory_load8_le(mem, 2330bv64) == 118bv8); + free requires (memory_load8_le(mem, 2331bv64) == 97bv8); + free requires (memory_load8_le(mem, 2332bv64) == 114bv8); + free requires (memory_load8_le(mem, 2333bv64) == 105bv8); + free requires (memory_load8_le(mem, 2334bv64) == 97bv8); + free requires (memory_load8_le(mem, 2335bv64) == 98bv8); + free requires (memory_load8_le(mem, 2336bv64) == 108bv8); + free requires (memory_load8_le(mem, 2337bv64) == 101bv8); + free requires (memory_load8_le(mem, 2338bv64) == 32bv8); + free requires (memory_load8_le(mem, 2339bv64) == 105bv8); + free requires (memory_load8_le(mem, 2340bv64) == 115bv8); + free requires (memory_load8_le(mem, 2341bv64) == 58bv8); + free requires (memory_load8_le(mem, 2342bv64) == 32bv8); + free requires (memory_load8_le(mem, 2343bv64) == 37bv8); + free requires (memory_load8_le(mem, 2344bv64) == 100bv8); + free requires (memory_load8_le(mem, 2345bv64) == 10bv8); + free requires (memory_load8_le(mem, 2346bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2272bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -414,5 +745,433 @@ procedure main() } procedure malloc(); + free requires (memory_load8_le(mem, 2272bv64) == 1bv8); + free requires (memory_load8_le(mem, 2273bv64) == 0bv8); + free requires (memory_load8_le(mem, 2274bv64) == 2bv8); + free requires (memory_load8_le(mem, 2275bv64) == 0bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 0bv8); + free requires (memory_load8_le(mem, 2278bv64) == 0bv8); + free requires (memory_load8_le(mem, 2279bv64) == 0bv8); + free requires (memory_load8_le(mem, 2280bv64) == 84bv8); + free requires (memory_load8_le(mem, 2281bv64) == 104bv8); + free requires (memory_load8_le(mem, 2282bv64) == 101bv8); + free requires (memory_load8_le(mem, 2283bv64) == 32bv8); + free requires (memory_load8_le(mem, 2284bv64) == 99bv8); + free requires (memory_load8_le(mem, 2285bv64) == 104bv8); + free requires (memory_load8_le(mem, 2286bv64) == 97bv8); + free requires (memory_load8_le(mem, 2287bv64) == 114bv8); + free requires (memory_load8_le(mem, 2288bv64) == 32bv8); + free requires (memory_load8_le(mem, 2289bv64) == 105bv8); + free requires (memory_load8_le(mem, 2290bv64) == 115bv8); + free requires (memory_load8_le(mem, 2291bv64) == 58bv8); + free requires (memory_load8_le(mem, 2292bv64) == 32bv8); + free requires (memory_load8_le(mem, 2293bv64) == 37bv8); + free requires (memory_load8_le(mem, 2294bv64) == 99bv8); + free requires (memory_load8_le(mem, 2295bv64) == 10bv8); + free requires (memory_load8_le(mem, 2296bv64) == 0bv8); + free requires (memory_load8_le(mem, 2297bv64) == 0bv8); + free requires (memory_load8_le(mem, 2298bv64) == 0bv8); + free requires (memory_load8_le(mem, 2299bv64) == 0bv8); + free requires (memory_load8_le(mem, 2300bv64) == 0bv8); + free requires (memory_load8_le(mem, 2301bv64) == 0bv8); + free requires (memory_load8_le(mem, 2302bv64) == 0bv8); + free requires (memory_load8_le(mem, 2303bv64) == 0bv8); + free requires (memory_load8_le(mem, 2304bv64) == 84bv8); + free requires (memory_load8_le(mem, 2305bv64) == 104bv8); + free requires (memory_load8_le(mem, 2306bv64) == 101bv8); + free requires (memory_load8_le(mem, 2307bv64) == 32bv8); + free requires (memory_load8_le(mem, 2308bv64) == 105bv8); + free requires (memory_load8_le(mem, 2309bv64) == 110bv8); + free requires (memory_load8_le(mem, 2310bv64) == 116bv8); + free requires (memory_load8_le(mem, 2311bv64) == 32bv8); + free requires (memory_load8_le(mem, 2312bv64) == 105bv8); + free requires (memory_load8_le(mem, 2313bv64) == 115bv8); + free requires (memory_load8_le(mem, 2314bv64) == 58bv8); + free requires (memory_load8_le(mem, 2315bv64) == 32bv8); + free requires (memory_load8_le(mem, 2316bv64) == 37bv8); + free requires (memory_load8_le(mem, 2317bv64) == 100bv8); + free requires (memory_load8_le(mem, 2318bv64) == 10bv8); + free requires (memory_load8_le(mem, 2319bv64) == 0bv8); + free requires (memory_load8_le(mem, 2320bv64) == 84bv8); + free requires (memory_load8_le(mem, 2321bv64) == 104bv8); + free requires (memory_load8_le(mem, 2322bv64) == 101bv8); + free requires (memory_load8_le(mem, 2323bv64) == 32bv8); + free requires (memory_load8_le(mem, 2324bv64) == 108bv8); + free requires (memory_load8_le(mem, 2325bv64) == 111bv8); + free requires (memory_load8_le(mem, 2326bv64) == 99bv8); + free requires (memory_load8_le(mem, 2327bv64) == 97bv8); + free requires (memory_load8_le(mem, 2328bv64) == 108bv8); + free requires (memory_load8_le(mem, 2329bv64) == 32bv8); + free requires (memory_load8_le(mem, 2330bv64) == 118bv8); + free requires (memory_load8_le(mem, 2331bv64) == 97bv8); + free requires (memory_load8_le(mem, 2332bv64) == 114bv8); + free requires (memory_load8_le(mem, 2333bv64) == 105bv8); + free requires (memory_load8_le(mem, 2334bv64) == 97bv8); + free requires (memory_load8_le(mem, 2335bv64) == 98bv8); + free requires (memory_load8_le(mem, 2336bv64) == 108bv8); + free requires (memory_load8_le(mem, 2337bv64) == 101bv8); + free requires (memory_load8_le(mem, 2338bv64) == 32bv8); + free requires (memory_load8_le(mem, 2339bv64) == 105bv8); + free requires (memory_load8_le(mem, 2340bv64) == 115bv8); + free requires (memory_load8_le(mem, 2341bv64) == 58bv8); + free requires (memory_load8_le(mem, 2342bv64) == 32bv8); + free requires (memory_load8_le(mem, 2343bv64) == 37bv8); + free requires (memory_load8_le(mem, 2344bv64) == 100bv8); + free requires (memory_load8_le(mem, 2345bv64) == 10bv8); + free requires (memory_load8_le(mem, 2346bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure printf(); + free requires (memory_load8_le(mem, 2272bv64) == 1bv8); + free requires (memory_load8_le(mem, 2273bv64) == 0bv8); + free requires (memory_load8_le(mem, 2274bv64) == 2bv8); + free requires (memory_load8_le(mem, 2275bv64) == 0bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 0bv8); + free requires (memory_load8_le(mem, 2278bv64) == 0bv8); + free requires (memory_load8_le(mem, 2279bv64) == 0bv8); + free requires (memory_load8_le(mem, 2280bv64) == 84bv8); + free requires (memory_load8_le(mem, 2281bv64) == 104bv8); + free requires (memory_load8_le(mem, 2282bv64) == 101bv8); + free requires (memory_load8_le(mem, 2283bv64) == 32bv8); + free requires (memory_load8_le(mem, 2284bv64) == 99bv8); + free requires (memory_load8_le(mem, 2285bv64) == 104bv8); + free requires (memory_load8_le(mem, 2286bv64) == 97bv8); + free requires (memory_load8_le(mem, 2287bv64) == 114bv8); + free requires (memory_load8_le(mem, 2288bv64) == 32bv8); + free requires (memory_load8_le(mem, 2289bv64) == 105bv8); + free requires (memory_load8_le(mem, 2290bv64) == 115bv8); + free requires (memory_load8_le(mem, 2291bv64) == 58bv8); + free requires (memory_load8_le(mem, 2292bv64) == 32bv8); + free requires (memory_load8_le(mem, 2293bv64) == 37bv8); + free requires (memory_load8_le(mem, 2294bv64) == 99bv8); + free requires (memory_load8_le(mem, 2295bv64) == 10bv8); + free requires (memory_load8_le(mem, 2296bv64) == 0bv8); + free requires (memory_load8_le(mem, 2297bv64) == 0bv8); + free requires (memory_load8_le(mem, 2298bv64) == 0bv8); + free requires (memory_load8_le(mem, 2299bv64) == 0bv8); + free requires (memory_load8_le(mem, 2300bv64) == 0bv8); + free requires (memory_load8_le(mem, 2301bv64) == 0bv8); + free requires (memory_load8_le(mem, 2302bv64) == 0bv8); + free requires (memory_load8_le(mem, 2303bv64) == 0bv8); + free requires (memory_load8_le(mem, 2304bv64) == 84bv8); + free requires (memory_load8_le(mem, 2305bv64) == 104bv8); + free requires (memory_load8_le(mem, 2306bv64) == 101bv8); + free requires (memory_load8_le(mem, 2307bv64) == 32bv8); + free requires (memory_load8_le(mem, 2308bv64) == 105bv8); + free requires (memory_load8_le(mem, 2309bv64) == 110bv8); + free requires (memory_load8_le(mem, 2310bv64) == 116bv8); + free requires (memory_load8_le(mem, 2311bv64) == 32bv8); + free requires (memory_load8_le(mem, 2312bv64) == 105bv8); + free requires (memory_load8_le(mem, 2313bv64) == 115bv8); + free requires (memory_load8_le(mem, 2314bv64) == 58bv8); + free requires (memory_load8_le(mem, 2315bv64) == 32bv8); + free requires (memory_load8_le(mem, 2316bv64) == 37bv8); + free requires (memory_load8_le(mem, 2317bv64) == 100bv8); + free requires (memory_load8_le(mem, 2318bv64) == 10bv8); + free requires (memory_load8_le(mem, 2319bv64) == 0bv8); + free requires (memory_load8_le(mem, 2320bv64) == 84bv8); + free requires (memory_load8_le(mem, 2321bv64) == 104bv8); + free requires (memory_load8_le(mem, 2322bv64) == 101bv8); + free requires (memory_load8_le(mem, 2323bv64) == 32bv8); + free requires (memory_load8_le(mem, 2324bv64) == 108bv8); + free requires (memory_load8_le(mem, 2325bv64) == 111bv8); + free requires (memory_load8_le(mem, 2326bv64) == 99bv8); + free requires (memory_load8_le(mem, 2327bv64) == 97bv8); + free requires (memory_load8_le(mem, 2328bv64) == 108bv8); + free requires (memory_load8_le(mem, 2329bv64) == 32bv8); + free requires (memory_load8_le(mem, 2330bv64) == 118bv8); + free requires (memory_load8_le(mem, 2331bv64) == 97bv8); + free requires (memory_load8_le(mem, 2332bv64) == 114bv8); + free requires (memory_load8_le(mem, 2333bv64) == 105bv8); + free requires (memory_load8_le(mem, 2334bv64) == 97bv8); + free requires (memory_load8_le(mem, 2335bv64) == 98bv8); + free requires (memory_load8_le(mem, 2336bv64) == 108bv8); + free requires (memory_load8_le(mem, 2337bv64) == 101bv8); + free requires (memory_load8_le(mem, 2338bv64) == 32bv8); + free requires (memory_load8_le(mem, 2339bv64) == 105bv8); + free requires (memory_load8_le(mem, 2340bv64) == 115bv8); + free requires (memory_load8_le(mem, 2341bv64) == 58bv8); + free requires (memory_load8_le(mem, 2342bv64) == 32bv8); + free requires (memory_load8_le(mem, 2343bv64) == 37bv8); + free requires (memory_load8_le(mem, 2344bv64) == 100bv8); + free requires (memory_load8_le(mem, 2345bv64) == 10bv8); + free requires (memory_load8_le(mem, 2346bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); diff --git a/src/test/correct/malloc_with_local2/gcc_O2/malloc_with_local2.expected b/src/test/correct/malloc_with_local2/gcc_O2/malloc_with_local2.expected index 7f0560c0d..cb8a83567 100644 --- a/src/test/correct/malloc_with_local2/gcc_O2/malloc_with_local2.expected +++ b/src/test/correct/malloc_with_local2/gcc_O2/malloc_with_local2.expected @@ -43,9 +43,115 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2088bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2089bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2090bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2091bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2092bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2093bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2094bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2095bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2096bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2097bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2098bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2099bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2100bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2101bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2102bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2103bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2104bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2105bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2106bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2107bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2108bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2109bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2110bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2111bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2112bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2113bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2114bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2115bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2116bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2117bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2118bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2119bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2120bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2121bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2122bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2123bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2124bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2125bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2126bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2127bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2128bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2129bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2130bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2131bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2132bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2133bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2134bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2135bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2136bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2137bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2138bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2139bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2140bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2141bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2142bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2143bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2144bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2145bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2146bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2147bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2148bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2149bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2150bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2151bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2152bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2153bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2154bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2155bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2156bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2157bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2158bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2159bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2160bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2161bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2162bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -62,9 +168,6 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure __printf_chk(); - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R2, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R1, R2, R29, R30, R31, stack; free requires (memory_load8_le(mem, 2088bv64) == 1bv8); free requires (memory_load8_le(mem, 2089bv64) == 0bv8); free requires (memory_load8_le(mem, 2090bv64) == 2bv8); @@ -140,102 +243,22 @@ procedure main() free requires (memory_load8_le(mem, 2160bv64) == 100bv8); free requires (memory_load8_le(mem, 2161bv64) == 10bv8); free requires (memory_load8_le(mem, 2162bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 224bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 224bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 224bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 224bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 224bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 160bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 16bv8); + free requires (memory_load8_le(mem, 69009bv64) == 8bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 192bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 128bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -244,14 +267,124 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2088bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2089bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2090bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2091bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2092bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2093bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2094bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2095bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2096bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2097bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2098bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2099bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2100bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2101bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2102bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2103bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2104bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2105bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2106bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2107bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2108bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2109bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2110bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2111bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2112bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2113bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2114bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2115bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2116bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2117bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2118bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2119bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2120bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2121bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2122bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2123bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2124bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2125bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2126bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2127bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2128bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2129bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2130bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2131bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2132bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2133bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2134bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2135bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2136bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2137bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2138bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2139bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2140bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2141bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2142bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2143bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2144bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2145bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2146bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2147bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2148bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2149bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2150bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2151bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2152bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2153bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2154bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2155bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2156bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2157bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2158bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2159bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2160bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2161bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2162bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R2, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R1, R2, R29, R30, R31, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -268,10 +401,224 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 2088bv64) == 1bv8); + free requires (memory_load8_le(mem, 2089bv64) == 0bv8); + free requires (memory_load8_le(mem, 2090bv64) == 2bv8); + free requires (memory_load8_le(mem, 2091bv64) == 0bv8); + free requires (memory_load8_le(mem, 2092bv64) == 0bv8); + free requires (memory_load8_le(mem, 2093bv64) == 0bv8); + free requires (memory_load8_le(mem, 2094bv64) == 0bv8); + free requires (memory_load8_le(mem, 2095bv64) == 0bv8); + free requires (memory_load8_le(mem, 2096bv64) == 84bv8); + free requires (memory_load8_le(mem, 2097bv64) == 104bv8); + free requires (memory_load8_le(mem, 2098bv64) == 101bv8); + free requires (memory_load8_le(mem, 2099bv64) == 32bv8); + free requires (memory_load8_le(mem, 2100bv64) == 99bv8); + free requires (memory_load8_le(mem, 2101bv64) == 104bv8); + free requires (memory_load8_le(mem, 2102bv64) == 97bv8); + free requires (memory_load8_le(mem, 2103bv64) == 114bv8); + free requires (memory_load8_le(mem, 2104bv64) == 32bv8); + free requires (memory_load8_le(mem, 2105bv64) == 105bv8); + free requires (memory_load8_le(mem, 2106bv64) == 115bv8); + free requires (memory_load8_le(mem, 2107bv64) == 58bv8); + free requires (memory_load8_le(mem, 2108bv64) == 32bv8); + free requires (memory_load8_le(mem, 2109bv64) == 37bv8); + free requires (memory_load8_le(mem, 2110bv64) == 99bv8); + free requires (memory_load8_le(mem, 2111bv64) == 10bv8); + free requires (memory_load8_le(mem, 2112bv64) == 0bv8); + free requires (memory_load8_le(mem, 2113bv64) == 0bv8); + free requires (memory_load8_le(mem, 2114bv64) == 0bv8); + free requires (memory_load8_le(mem, 2115bv64) == 0bv8); + free requires (memory_load8_le(mem, 2116bv64) == 0bv8); + free requires (memory_load8_le(mem, 2117bv64) == 0bv8); + free requires (memory_load8_le(mem, 2118bv64) == 0bv8); + free requires (memory_load8_le(mem, 2119bv64) == 0bv8); + free requires (memory_load8_le(mem, 2120bv64) == 84bv8); + free requires (memory_load8_le(mem, 2121bv64) == 104bv8); + free requires (memory_load8_le(mem, 2122bv64) == 101bv8); + free requires (memory_load8_le(mem, 2123bv64) == 32bv8); + free requires (memory_load8_le(mem, 2124bv64) == 105bv8); + free requires (memory_load8_le(mem, 2125bv64) == 110bv8); + free requires (memory_load8_le(mem, 2126bv64) == 116bv8); + free requires (memory_load8_le(mem, 2127bv64) == 32bv8); + free requires (memory_load8_le(mem, 2128bv64) == 105bv8); + free requires (memory_load8_le(mem, 2129bv64) == 115bv8); + free requires (memory_load8_le(mem, 2130bv64) == 58bv8); + free requires (memory_load8_le(mem, 2131bv64) == 32bv8); + free requires (memory_load8_le(mem, 2132bv64) == 37bv8); + free requires (memory_load8_le(mem, 2133bv64) == 100bv8); + free requires (memory_load8_le(mem, 2134bv64) == 10bv8); + free requires (memory_load8_le(mem, 2135bv64) == 0bv8); + free requires (memory_load8_le(mem, 2136bv64) == 84bv8); + free requires (memory_load8_le(mem, 2137bv64) == 104bv8); + free requires (memory_load8_le(mem, 2138bv64) == 101bv8); + free requires (memory_load8_le(mem, 2139bv64) == 32bv8); + free requires (memory_load8_le(mem, 2140bv64) == 108bv8); + free requires (memory_load8_le(mem, 2141bv64) == 111bv8); + free requires (memory_load8_le(mem, 2142bv64) == 99bv8); + free requires (memory_load8_le(mem, 2143bv64) == 97bv8); + free requires (memory_load8_le(mem, 2144bv64) == 108bv8); + free requires (memory_load8_le(mem, 2145bv64) == 32bv8); + free requires (memory_load8_le(mem, 2146bv64) == 118bv8); + free requires (memory_load8_le(mem, 2147bv64) == 97bv8); + free requires (memory_load8_le(mem, 2148bv64) == 114bv8); + free requires (memory_load8_le(mem, 2149bv64) == 105bv8); + free requires (memory_load8_le(mem, 2150bv64) == 97bv8); + free requires (memory_load8_le(mem, 2151bv64) == 98bv8); + free requires (memory_load8_le(mem, 2152bv64) == 108bv8); + free requires (memory_load8_le(mem, 2153bv64) == 101bv8); + free requires (memory_load8_le(mem, 2154bv64) == 32bv8); + free requires (memory_load8_le(mem, 2155bv64) == 105bv8); + free requires (memory_load8_le(mem, 2156bv64) == 115bv8); + free requires (memory_load8_le(mem, 2157bv64) == 58bv8); + free requires (memory_load8_le(mem, 2158bv64) == 32bv8); + free requires (memory_load8_le(mem, 2159bv64) == 37bv8); + free requires (memory_load8_le(mem, 2160bv64) == 100bv8); + free requires (memory_load8_le(mem, 2161bv64) == 10bv8); + free requires (memory_load8_le(mem, 2162bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 16bv8); + free requires (memory_load8_le(mem, 69009bv64) == 8bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 192bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 128bv8); + free requires (memory_load8_le(mem, 69617bv64) == 6bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2088bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2089bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2090bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2091bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2092bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2093bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2094bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2095bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2096bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2097bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2098bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2099bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2100bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2101bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2102bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2103bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2104bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2105bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2106bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2107bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2108bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2109bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2110bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2111bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2112bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2113bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2114bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2115bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2116bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2117bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2118bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2119bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2120bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2121bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2122bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2123bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2124bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2125bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2126bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2127bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2128bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2129bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2130bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2131bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2132bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2133bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2134bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2135bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2136bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2137bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2138bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2139bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2140bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2141bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2142bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2143bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2144bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2145bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2146bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2147bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2148bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2149bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2150bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2151bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2152bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2153bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2154bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2155bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2156bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2157bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2158bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2159bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2160bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2161bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2162bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #1: bv64; var Gamma_#1: bool; diff --git a/src/test/correct/malloc_with_local2/gcc_no_plt_no_pic/malloc_with_local2.expected b/src/test/correct/malloc_with_local2/gcc_no_plt_no_pic/malloc_with_local2.expected index 61a654717..eaf47d90f 100644 --- a/src/test/correct/malloc_with_local2/gcc_no_plt_no_pic/malloc_with_local2.expected +++ b/src/test/correct/malloc_with_local2/gcc_no_plt_no_pic/malloc_with_local2.expected @@ -71,9 +71,115 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2272bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -90,9 +196,6 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure #free(); - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 2272bv64) == 1bv8); free requires (memory_load8_le(mem, 2273bv64) == 0bv8); free requires (memory_load8_le(mem, 2274bv64) == 2bv8); @@ -168,118 +271,22 @@ procedure main() free requires (memory_load8_le(mem, 2344bv64) == 100bv8); free requires (memory_load8_le(mem, 2345bv64) == 10bv8); free requires (memory_load8_le(mem, 2346bv64) == 0bv8); - free requires (memory_load8_le(mem, 69504bv64) == 0bv8); - free requires (memory_load8_le(mem, 69505bv64) == 0bv8); - free requires (memory_load8_le(mem, 69506bv64) == 0bv8); - free requires (memory_load8_le(mem, 69507bv64) == 0bv8); - free requires (memory_load8_le(mem, 69508bv64) == 0bv8); - free requires (memory_load8_le(mem, 69509bv64) == 0bv8); - free requires (memory_load8_le(mem, 69510bv64) == 0bv8); - free requires (memory_load8_le(mem, 69511bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 64bv8); - free requires (memory_load8_le(mem, 69529bv64) == 6bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 64bv8); - free requires (memory_load8_le(mem, 69537bv64) == 6bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 64bv8); - free requires (memory_load8_le(mem, 69545bv64) == 6bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 64bv8); - free requires (memory_load8_le(mem, 69553bv64) == 6bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 64bv8); - free requires (memory_load8_le(mem, 69561bv64) == 6bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 64bv8); - free requires (memory_load8_le(mem, 69569bv64) == 6bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 64bv8); - free requires (memory_load8_le(mem, 69577bv64) == 6bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 144bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 8bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -288,14 +295,124 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -312,10 +429,224 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 2272bv64) == 1bv8); + free requires (memory_load8_le(mem, 2273bv64) == 0bv8); + free requires (memory_load8_le(mem, 2274bv64) == 2bv8); + free requires (memory_load8_le(mem, 2275bv64) == 0bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 0bv8); + free requires (memory_load8_le(mem, 2278bv64) == 0bv8); + free requires (memory_load8_le(mem, 2279bv64) == 0bv8); + free requires (memory_load8_le(mem, 2280bv64) == 84bv8); + free requires (memory_load8_le(mem, 2281bv64) == 104bv8); + free requires (memory_load8_le(mem, 2282bv64) == 101bv8); + free requires (memory_load8_le(mem, 2283bv64) == 32bv8); + free requires (memory_load8_le(mem, 2284bv64) == 99bv8); + free requires (memory_load8_le(mem, 2285bv64) == 104bv8); + free requires (memory_load8_le(mem, 2286bv64) == 97bv8); + free requires (memory_load8_le(mem, 2287bv64) == 114bv8); + free requires (memory_load8_le(mem, 2288bv64) == 32bv8); + free requires (memory_load8_le(mem, 2289bv64) == 105bv8); + free requires (memory_load8_le(mem, 2290bv64) == 115bv8); + free requires (memory_load8_le(mem, 2291bv64) == 58bv8); + free requires (memory_load8_le(mem, 2292bv64) == 32bv8); + free requires (memory_load8_le(mem, 2293bv64) == 37bv8); + free requires (memory_load8_le(mem, 2294bv64) == 99bv8); + free requires (memory_load8_le(mem, 2295bv64) == 10bv8); + free requires (memory_load8_le(mem, 2296bv64) == 0bv8); + free requires (memory_load8_le(mem, 2297bv64) == 0bv8); + free requires (memory_load8_le(mem, 2298bv64) == 0bv8); + free requires (memory_load8_le(mem, 2299bv64) == 0bv8); + free requires (memory_load8_le(mem, 2300bv64) == 0bv8); + free requires (memory_load8_le(mem, 2301bv64) == 0bv8); + free requires (memory_load8_le(mem, 2302bv64) == 0bv8); + free requires (memory_load8_le(mem, 2303bv64) == 0bv8); + free requires (memory_load8_le(mem, 2304bv64) == 84bv8); + free requires (memory_load8_le(mem, 2305bv64) == 104bv8); + free requires (memory_load8_le(mem, 2306bv64) == 101bv8); + free requires (memory_load8_le(mem, 2307bv64) == 32bv8); + free requires (memory_load8_le(mem, 2308bv64) == 105bv8); + free requires (memory_load8_le(mem, 2309bv64) == 110bv8); + free requires (memory_load8_le(mem, 2310bv64) == 116bv8); + free requires (memory_load8_le(mem, 2311bv64) == 32bv8); + free requires (memory_load8_le(mem, 2312bv64) == 105bv8); + free requires (memory_load8_le(mem, 2313bv64) == 115bv8); + free requires (memory_load8_le(mem, 2314bv64) == 58bv8); + free requires (memory_load8_le(mem, 2315bv64) == 32bv8); + free requires (memory_load8_le(mem, 2316bv64) == 37bv8); + free requires (memory_load8_le(mem, 2317bv64) == 100bv8); + free requires (memory_load8_le(mem, 2318bv64) == 10bv8); + free requires (memory_load8_le(mem, 2319bv64) == 0bv8); + free requires (memory_load8_le(mem, 2320bv64) == 84bv8); + free requires (memory_load8_le(mem, 2321bv64) == 104bv8); + free requires (memory_load8_le(mem, 2322bv64) == 101bv8); + free requires (memory_load8_le(mem, 2323bv64) == 32bv8); + free requires (memory_load8_le(mem, 2324bv64) == 108bv8); + free requires (memory_load8_le(mem, 2325bv64) == 111bv8); + free requires (memory_load8_le(mem, 2326bv64) == 99bv8); + free requires (memory_load8_le(mem, 2327bv64) == 97bv8); + free requires (memory_load8_le(mem, 2328bv64) == 108bv8); + free requires (memory_load8_le(mem, 2329bv64) == 32bv8); + free requires (memory_load8_le(mem, 2330bv64) == 118bv8); + free requires (memory_load8_le(mem, 2331bv64) == 97bv8); + free requires (memory_load8_le(mem, 2332bv64) == 114bv8); + free requires (memory_load8_le(mem, 2333bv64) == 105bv8); + free requires (memory_load8_le(mem, 2334bv64) == 97bv8); + free requires (memory_load8_le(mem, 2335bv64) == 98bv8); + free requires (memory_load8_le(mem, 2336bv64) == 108bv8); + free requires (memory_load8_le(mem, 2337bv64) == 101bv8); + free requires (memory_load8_le(mem, 2338bv64) == 32bv8); + free requires (memory_load8_le(mem, 2339bv64) == 105bv8); + free requires (memory_load8_le(mem, 2340bv64) == 115bv8); + free requires (memory_load8_le(mem, 2341bv64) == 58bv8); + free requires (memory_load8_le(mem, 2342bv64) == 32bv8); + free requires (memory_load8_le(mem, 2343bv64) == 37bv8); + free requires (memory_load8_le(mem, 2344bv64) == 100bv8); + free requires (memory_load8_le(mem, 2345bv64) == 10bv8); + free requires (memory_load8_le(mem, 2346bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2272bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -414,5 +745,433 @@ procedure main() } procedure malloc(); + free requires (memory_load8_le(mem, 2272bv64) == 1bv8); + free requires (memory_load8_le(mem, 2273bv64) == 0bv8); + free requires (memory_load8_le(mem, 2274bv64) == 2bv8); + free requires (memory_load8_le(mem, 2275bv64) == 0bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 0bv8); + free requires (memory_load8_le(mem, 2278bv64) == 0bv8); + free requires (memory_load8_le(mem, 2279bv64) == 0bv8); + free requires (memory_load8_le(mem, 2280bv64) == 84bv8); + free requires (memory_load8_le(mem, 2281bv64) == 104bv8); + free requires (memory_load8_le(mem, 2282bv64) == 101bv8); + free requires (memory_load8_le(mem, 2283bv64) == 32bv8); + free requires (memory_load8_le(mem, 2284bv64) == 99bv8); + free requires (memory_load8_le(mem, 2285bv64) == 104bv8); + free requires (memory_load8_le(mem, 2286bv64) == 97bv8); + free requires (memory_load8_le(mem, 2287bv64) == 114bv8); + free requires (memory_load8_le(mem, 2288bv64) == 32bv8); + free requires (memory_load8_le(mem, 2289bv64) == 105bv8); + free requires (memory_load8_le(mem, 2290bv64) == 115bv8); + free requires (memory_load8_le(mem, 2291bv64) == 58bv8); + free requires (memory_load8_le(mem, 2292bv64) == 32bv8); + free requires (memory_load8_le(mem, 2293bv64) == 37bv8); + free requires (memory_load8_le(mem, 2294bv64) == 99bv8); + free requires (memory_load8_le(mem, 2295bv64) == 10bv8); + free requires (memory_load8_le(mem, 2296bv64) == 0bv8); + free requires (memory_load8_le(mem, 2297bv64) == 0bv8); + free requires (memory_load8_le(mem, 2298bv64) == 0bv8); + free requires (memory_load8_le(mem, 2299bv64) == 0bv8); + free requires (memory_load8_le(mem, 2300bv64) == 0bv8); + free requires (memory_load8_le(mem, 2301bv64) == 0bv8); + free requires (memory_load8_le(mem, 2302bv64) == 0bv8); + free requires (memory_load8_le(mem, 2303bv64) == 0bv8); + free requires (memory_load8_le(mem, 2304bv64) == 84bv8); + free requires (memory_load8_le(mem, 2305bv64) == 104bv8); + free requires (memory_load8_le(mem, 2306bv64) == 101bv8); + free requires (memory_load8_le(mem, 2307bv64) == 32bv8); + free requires (memory_load8_le(mem, 2308bv64) == 105bv8); + free requires (memory_load8_le(mem, 2309bv64) == 110bv8); + free requires (memory_load8_le(mem, 2310bv64) == 116bv8); + free requires (memory_load8_le(mem, 2311bv64) == 32bv8); + free requires (memory_load8_le(mem, 2312bv64) == 105bv8); + free requires (memory_load8_le(mem, 2313bv64) == 115bv8); + free requires (memory_load8_le(mem, 2314bv64) == 58bv8); + free requires (memory_load8_le(mem, 2315bv64) == 32bv8); + free requires (memory_load8_le(mem, 2316bv64) == 37bv8); + free requires (memory_load8_le(mem, 2317bv64) == 100bv8); + free requires (memory_load8_le(mem, 2318bv64) == 10bv8); + free requires (memory_load8_le(mem, 2319bv64) == 0bv8); + free requires (memory_load8_le(mem, 2320bv64) == 84bv8); + free requires (memory_load8_le(mem, 2321bv64) == 104bv8); + free requires (memory_load8_le(mem, 2322bv64) == 101bv8); + free requires (memory_load8_le(mem, 2323bv64) == 32bv8); + free requires (memory_load8_le(mem, 2324bv64) == 108bv8); + free requires (memory_load8_le(mem, 2325bv64) == 111bv8); + free requires (memory_load8_le(mem, 2326bv64) == 99bv8); + free requires (memory_load8_le(mem, 2327bv64) == 97bv8); + free requires (memory_load8_le(mem, 2328bv64) == 108bv8); + free requires (memory_load8_le(mem, 2329bv64) == 32bv8); + free requires (memory_load8_le(mem, 2330bv64) == 118bv8); + free requires (memory_load8_le(mem, 2331bv64) == 97bv8); + free requires (memory_load8_le(mem, 2332bv64) == 114bv8); + free requires (memory_load8_le(mem, 2333bv64) == 105bv8); + free requires (memory_load8_le(mem, 2334bv64) == 97bv8); + free requires (memory_load8_le(mem, 2335bv64) == 98bv8); + free requires (memory_load8_le(mem, 2336bv64) == 108bv8); + free requires (memory_load8_le(mem, 2337bv64) == 101bv8); + free requires (memory_load8_le(mem, 2338bv64) == 32bv8); + free requires (memory_load8_le(mem, 2339bv64) == 105bv8); + free requires (memory_load8_le(mem, 2340bv64) == 115bv8); + free requires (memory_load8_le(mem, 2341bv64) == 58bv8); + free requires (memory_load8_le(mem, 2342bv64) == 32bv8); + free requires (memory_load8_le(mem, 2343bv64) == 37bv8); + free requires (memory_load8_le(mem, 2344bv64) == 100bv8); + free requires (memory_load8_le(mem, 2345bv64) == 10bv8); + free requires (memory_load8_le(mem, 2346bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure printf(); + free requires (memory_load8_le(mem, 2272bv64) == 1bv8); + free requires (memory_load8_le(mem, 2273bv64) == 0bv8); + free requires (memory_load8_le(mem, 2274bv64) == 2bv8); + free requires (memory_load8_le(mem, 2275bv64) == 0bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 0bv8); + free requires (memory_load8_le(mem, 2278bv64) == 0bv8); + free requires (memory_load8_le(mem, 2279bv64) == 0bv8); + free requires (memory_load8_le(mem, 2280bv64) == 84bv8); + free requires (memory_load8_le(mem, 2281bv64) == 104bv8); + free requires (memory_load8_le(mem, 2282bv64) == 101bv8); + free requires (memory_load8_le(mem, 2283bv64) == 32bv8); + free requires (memory_load8_le(mem, 2284bv64) == 99bv8); + free requires (memory_load8_le(mem, 2285bv64) == 104bv8); + free requires (memory_load8_le(mem, 2286bv64) == 97bv8); + free requires (memory_load8_le(mem, 2287bv64) == 114bv8); + free requires (memory_load8_le(mem, 2288bv64) == 32bv8); + free requires (memory_load8_le(mem, 2289bv64) == 105bv8); + free requires (memory_load8_le(mem, 2290bv64) == 115bv8); + free requires (memory_load8_le(mem, 2291bv64) == 58bv8); + free requires (memory_load8_le(mem, 2292bv64) == 32bv8); + free requires (memory_load8_le(mem, 2293bv64) == 37bv8); + free requires (memory_load8_le(mem, 2294bv64) == 99bv8); + free requires (memory_load8_le(mem, 2295bv64) == 10bv8); + free requires (memory_load8_le(mem, 2296bv64) == 0bv8); + free requires (memory_load8_le(mem, 2297bv64) == 0bv8); + free requires (memory_load8_le(mem, 2298bv64) == 0bv8); + free requires (memory_load8_le(mem, 2299bv64) == 0bv8); + free requires (memory_load8_le(mem, 2300bv64) == 0bv8); + free requires (memory_load8_le(mem, 2301bv64) == 0bv8); + free requires (memory_load8_le(mem, 2302bv64) == 0bv8); + free requires (memory_load8_le(mem, 2303bv64) == 0bv8); + free requires (memory_load8_le(mem, 2304bv64) == 84bv8); + free requires (memory_load8_le(mem, 2305bv64) == 104bv8); + free requires (memory_load8_le(mem, 2306bv64) == 101bv8); + free requires (memory_load8_le(mem, 2307bv64) == 32bv8); + free requires (memory_load8_le(mem, 2308bv64) == 105bv8); + free requires (memory_load8_le(mem, 2309bv64) == 110bv8); + free requires (memory_load8_le(mem, 2310bv64) == 116bv8); + free requires (memory_load8_le(mem, 2311bv64) == 32bv8); + free requires (memory_load8_le(mem, 2312bv64) == 105bv8); + free requires (memory_load8_le(mem, 2313bv64) == 115bv8); + free requires (memory_load8_le(mem, 2314bv64) == 58bv8); + free requires (memory_load8_le(mem, 2315bv64) == 32bv8); + free requires (memory_load8_le(mem, 2316bv64) == 37bv8); + free requires (memory_load8_le(mem, 2317bv64) == 100bv8); + free requires (memory_load8_le(mem, 2318bv64) == 10bv8); + free requires (memory_load8_le(mem, 2319bv64) == 0bv8); + free requires (memory_load8_le(mem, 2320bv64) == 84bv8); + free requires (memory_load8_le(mem, 2321bv64) == 104bv8); + free requires (memory_load8_le(mem, 2322bv64) == 101bv8); + free requires (memory_load8_le(mem, 2323bv64) == 32bv8); + free requires (memory_load8_le(mem, 2324bv64) == 108bv8); + free requires (memory_load8_le(mem, 2325bv64) == 111bv8); + free requires (memory_load8_le(mem, 2326bv64) == 99bv8); + free requires (memory_load8_le(mem, 2327bv64) == 97bv8); + free requires (memory_load8_le(mem, 2328bv64) == 108bv8); + free requires (memory_load8_le(mem, 2329bv64) == 32bv8); + free requires (memory_load8_le(mem, 2330bv64) == 118bv8); + free requires (memory_load8_le(mem, 2331bv64) == 97bv8); + free requires (memory_load8_le(mem, 2332bv64) == 114bv8); + free requires (memory_load8_le(mem, 2333bv64) == 105bv8); + free requires (memory_load8_le(mem, 2334bv64) == 97bv8); + free requires (memory_load8_le(mem, 2335bv64) == 98bv8); + free requires (memory_load8_le(mem, 2336bv64) == 108bv8); + free requires (memory_load8_le(mem, 2337bv64) == 101bv8); + free requires (memory_load8_le(mem, 2338bv64) == 32bv8); + free requires (memory_load8_le(mem, 2339bv64) == 105bv8); + free requires (memory_load8_le(mem, 2340bv64) == 115bv8); + free requires (memory_load8_le(mem, 2341bv64) == 58bv8); + free requires (memory_load8_le(mem, 2342bv64) == 32bv8); + free requires (memory_load8_le(mem, 2343bv64) == 37bv8); + free requires (memory_load8_le(mem, 2344bv64) == 100bv8); + free requires (memory_load8_le(mem, 2345bv64) == 10bv8); + free requires (memory_load8_le(mem, 2346bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); diff --git a/src/test/correct/malloc_with_local2/gcc_pic/malloc_with_local2.expected b/src/test/correct/malloc_with_local2/gcc_pic/malloc_with_local2.expected index 61a654717..eaf47d90f 100644 --- a/src/test/correct/malloc_with_local2/gcc_pic/malloc_with_local2.expected +++ b/src/test/correct/malloc_with_local2/gcc_pic/malloc_with_local2.expected @@ -71,9 +71,115 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2272bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -90,9 +196,6 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure #free(); - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 2272bv64) == 1bv8); free requires (memory_load8_le(mem, 2273bv64) == 0bv8); free requires (memory_load8_le(mem, 2274bv64) == 2bv8); @@ -168,118 +271,22 @@ procedure main() free requires (memory_load8_le(mem, 2344bv64) == 100bv8); free requires (memory_load8_le(mem, 2345bv64) == 10bv8); free requires (memory_load8_le(mem, 2346bv64) == 0bv8); - free requires (memory_load8_le(mem, 69504bv64) == 0bv8); - free requires (memory_load8_le(mem, 69505bv64) == 0bv8); - free requires (memory_load8_le(mem, 69506bv64) == 0bv8); - free requires (memory_load8_le(mem, 69507bv64) == 0bv8); - free requires (memory_load8_le(mem, 69508bv64) == 0bv8); - free requires (memory_load8_le(mem, 69509bv64) == 0bv8); - free requires (memory_load8_le(mem, 69510bv64) == 0bv8); - free requires (memory_load8_le(mem, 69511bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 64bv8); - free requires (memory_load8_le(mem, 69529bv64) == 6bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 64bv8); - free requires (memory_load8_le(mem, 69537bv64) == 6bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 64bv8); - free requires (memory_load8_le(mem, 69545bv64) == 6bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 64bv8); - free requires (memory_load8_le(mem, 69553bv64) == 6bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 64bv8); - free requires (memory_load8_le(mem, 69561bv64) == 6bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 64bv8); - free requires (memory_load8_le(mem, 69569bv64) == 6bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 64bv8); - free requires (memory_load8_le(mem, 69577bv64) == 6bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 144bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 8bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -288,14 +295,124 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -312,10 +429,224 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 2272bv64) == 1bv8); + free requires (memory_load8_le(mem, 2273bv64) == 0bv8); + free requires (memory_load8_le(mem, 2274bv64) == 2bv8); + free requires (memory_load8_le(mem, 2275bv64) == 0bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 0bv8); + free requires (memory_load8_le(mem, 2278bv64) == 0bv8); + free requires (memory_load8_le(mem, 2279bv64) == 0bv8); + free requires (memory_load8_le(mem, 2280bv64) == 84bv8); + free requires (memory_load8_le(mem, 2281bv64) == 104bv8); + free requires (memory_load8_le(mem, 2282bv64) == 101bv8); + free requires (memory_load8_le(mem, 2283bv64) == 32bv8); + free requires (memory_load8_le(mem, 2284bv64) == 99bv8); + free requires (memory_load8_le(mem, 2285bv64) == 104bv8); + free requires (memory_load8_le(mem, 2286bv64) == 97bv8); + free requires (memory_load8_le(mem, 2287bv64) == 114bv8); + free requires (memory_load8_le(mem, 2288bv64) == 32bv8); + free requires (memory_load8_le(mem, 2289bv64) == 105bv8); + free requires (memory_load8_le(mem, 2290bv64) == 115bv8); + free requires (memory_load8_le(mem, 2291bv64) == 58bv8); + free requires (memory_load8_le(mem, 2292bv64) == 32bv8); + free requires (memory_load8_le(mem, 2293bv64) == 37bv8); + free requires (memory_load8_le(mem, 2294bv64) == 99bv8); + free requires (memory_load8_le(mem, 2295bv64) == 10bv8); + free requires (memory_load8_le(mem, 2296bv64) == 0bv8); + free requires (memory_load8_le(mem, 2297bv64) == 0bv8); + free requires (memory_load8_le(mem, 2298bv64) == 0bv8); + free requires (memory_load8_le(mem, 2299bv64) == 0bv8); + free requires (memory_load8_le(mem, 2300bv64) == 0bv8); + free requires (memory_load8_le(mem, 2301bv64) == 0bv8); + free requires (memory_load8_le(mem, 2302bv64) == 0bv8); + free requires (memory_load8_le(mem, 2303bv64) == 0bv8); + free requires (memory_load8_le(mem, 2304bv64) == 84bv8); + free requires (memory_load8_le(mem, 2305bv64) == 104bv8); + free requires (memory_load8_le(mem, 2306bv64) == 101bv8); + free requires (memory_load8_le(mem, 2307bv64) == 32bv8); + free requires (memory_load8_le(mem, 2308bv64) == 105bv8); + free requires (memory_load8_le(mem, 2309bv64) == 110bv8); + free requires (memory_load8_le(mem, 2310bv64) == 116bv8); + free requires (memory_load8_le(mem, 2311bv64) == 32bv8); + free requires (memory_load8_le(mem, 2312bv64) == 105bv8); + free requires (memory_load8_le(mem, 2313bv64) == 115bv8); + free requires (memory_load8_le(mem, 2314bv64) == 58bv8); + free requires (memory_load8_le(mem, 2315bv64) == 32bv8); + free requires (memory_load8_le(mem, 2316bv64) == 37bv8); + free requires (memory_load8_le(mem, 2317bv64) == 100bv8); + free requires (memory_load8_le(mem, 2318bv64) == 10bv8); + free requires (memory_load8_le(mem, 2319bv64) == 0bv8); + free requires (memory_load8_le(mem, 2320bv64) == 84bv8); + free requires (memory_load8_le(mem, 2321bv64) == 104bv8); + free requires (memory_load8_le(mem, 2322bv64) == 101bv8); + free requires (memory_load8_le(mem, 2323bv64) == 32bv8); + free requires (memory_load8_le(mem, 2324bv64) == 108bv8); + free requires (memory_load8_le(mem, 2325bv64) == 111bv8); + free requires (memory_load8_le(mem, 2326bv64) == 99bv8); + free requires (memory_load8_le(mem, 2327bv64) == 97bv8); + free requires (memory_load8_le(mem, 2328bv64) == 108bv8); + free requires (memory_load8_le(mem, 2329bv64) == 32bv8); + free requires (memory_load8_le(mem, 2330bv64) == 118bv8); + free requires (memory_load8_le(mem, 2331bv64) == 97bv8); + free requires (memory_load8_le(mem, 2332bv64) == 114bv8); + free requires (memory_load8_le(mem, 2333bv64) == 105bv8); + free requires (memory_load8_le(mem, 2334bv64) == 97bv8); + free requires (memory_load8_le(mem, 2335bv64) == 98bv8); + free requires (memory_load8_le(mem, 2336bv64) == 108bv8); + free requires (memory_load8_le(mem, 2337bv64) == 101bv8); + free requires (memory_load8_le(mem, 2338bv64) == 32bv8); + free requires (memory_load8_le(mem, 2339bv64) == 105bv8); + free requires (memory_load8_le(mem, 2340bv64) == 115bv8); + free requires (memory_load8_le(mem, 2341bv64) == 58bv8); + free requires (memory_load8_le(mem, 2342bv64) == 32bv8); + free requires (memory_load8_le(mem, 2343bv64) == 37bv8); + free requires (memory_load8_le(mem, 2344bv64) == 100bv8); + free requires (memory_load8_le(mem, 2345bv64) == 10bv8); + free requires (memory_load8_le(mem, 2346bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2272bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -414,5 +745,433 @@ procedure main() } procedure malloc(); + free requires (memory_load8_le(mem, 2272bv64) == 1bv8); + free requires (memory_load8_le(mem, 2273bv64) == 0bv8); + free requires (memory_load8_le(mem, 2274bv64) == 2bv8); + free requires (memory_load8_le(mem, 2275bv64) == 0bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 0bv8); + free requires (memory_load8_le(mem, 2278bv64) == 0bv8); + free requires (memory_load8_le(mem, 2279bv64) == 0bv8); + free requires (memory_load8_le(mem, 2280bv64) == 84bv8); + free requires (memory_load8_le(mem, 2281bv64) == 104bv8); + free requires (memory_load8_le(mem, 2282bv64) == 101bv8); + free requires (memory_load8_le(mem, 2283bv64) == 32bv8); + free requires (memory_load8_le(mem, 2284bv64) == 99bv8); + free requires (memory_load8_le(mem, 2285bv64) == 104bv8); + free requires (memory_load8_le(mem, 2286bv64) == 97bv8); + free requires (memory_load8_le(mem, 2287bv64) == 114bv8); + free requires (memory_load8_le(mem, 2288bv64) == 32bv8); + free requires (memory_load8_le(mem, 2289bv64) == 105bv8); + free requires (memory_load8_le(mem, 2290bv64) == 115bv8); + free requires (memory_load8_le(mem, 2291bv64) == 58bv8); + free requires (memory_load8_le(mem, 2292bv64) == 32bv8); + free requires (memory_load8_le(mem, 2293bv64) == 37bv8); + free requires (memory_load8_le(mem, 2294bv64) == 99bv8); + free requires (memory_load8_le(mem, 2295bv64) == 10bv8); + free requires (memory_load8_le(mem, 2296bv64) == 0bv8); + free requires (memory_load8_le(mem, 2297bv64) == 0bv8); + free requires (memory_load8_le(mem, 2298bv64) == 0bv8); + free requires (memory_load8_le(mem, 2299bv64) == 0bv8); + free requires (memory_load8_le(mem, 2300bv64) == 0bv8); + free requires (memory_load8_le(mem, 2301bv64) == 0bv8); + free requires (memory_load8_le(mem, 2302bv64) == 0bv8); + free requires (memory_load8_le(mem, 2303bv64) == 0bv8); + free requires (memory_load8_le(mem, 2304bv64) == 84bv8); + free requires (memory_load8_le(mem, 2305bv64) == 104bv8); + free requires (memory_load8_le(mem, 2306bv64) == 101bv8); + free requires (memory_load8_le(mem, 2307bv64) == 32bv8); + free requires (memory_load8_le(mem, 2308bv64) == 105bv8); + free requires (memory_load8_le(mem, 2309bv64) == 110bv8); + free requires (memory_load8_le(mem, 2310bv64) == 116bv8); + free requires (memory_load8_le(mem, 2311bv64) == 32bv8); + free requires (memory_load8_le(mem, 2312bv64) == 105bv8); + free requires (memory_load8_le(mem, 2313bv64) == 115bv8); + free requires (memory_load8_le(mem, 2314bv64) == 58bv8); + free requires (memory_load8_le(mem, 2315bv64) == 32bv8); + free requires (memory_load8_le(mem, 2316bv64) == 37bv8); + free requires (memory_load8_le(mem, 2317bv64) == 100bv8); + free requires (memory_load8_le(mem, 2318bv64) == 10bv8); + free requires (memory_load8_le(mem, 2319bv64) == 0bv8); + free requires (memory_load8_le(mem, 2320bv64) == 84bv8); + free requires (memory_load8_le(mem, 2321bv64) == 104bv8); + free requires (memory_load8_le(mem, 2322bv64) == 101bv8); + free requires (memory_load8_le(mem, 2323bv64) == 32bv8); + free requires (memory_load8_le(mem, 2324bv64) == 108bv8); + free requires (memory_load8_le(mem, 2325bv64) == 111bv8); + free requires (memory_load8_le(mem, 2326bv64) == 99bv8); + free requires (memory_load8_le(mem, 2327bv64) == 97bv8); + free requires (memory_load8_le(mem, 2328bv64) == 108bv8); + free requires (memory_load8_le(mem, 2329bv64) == 32bv8); + free requires (memory_load8_le(mem, 2330bv64) == 118bv8); + free requires (memory_load8_le(mem, 2331bv64) == 97bv8); + free requires (memory_load8_le(mem, 2332bv64) == 114bv8); + free requires (memory_load8_le(mem, 2333bv64) == 105bv8); + free requires (memory_load8_le(mem, 2334bv64) == 97bv8); + free requires (memory_load8_le(mem, 2335bv64) == 98bv8); + free requires (memory_load8_le(mem, 2336bv64) == 108bv8); + free requires (memory_load8_le(mem, 2337bv64) == 101bv8); + free requires (memory_load8_le(mem, 2338bv64) == 32bv8); + free requires (memory_load8_le(mem, 2339bv64) == 105bv8); + free requires (memory_load8_le(mem, 2340bv64) == 115bv8); + free requires (memory_load8_le(mem, 2341bv64) == 58bv8); + free requires (memory_load8_le(mem, 2342bv64) == 32bv8); + free requires (memory_load8_le(mem, 2343bv64) == 37bv8); + free requires (memory_load8_le(mem, 2344bv64) == 100bv8); + free requires (memory_load8_le(mem, 2345bv64) == 10bv8); + free requires (memory_load8_le(mem, 2346bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure printf(); + free requires (memory_load8_le(mem, 2272bv64) == 1bv8); + free requires (memory_load8_le(mem, 2273bv64) == 0bv8); + free requires (memory_load8_le(mem, 2274bv64) == 2bv8); + free requires (memory_load8_le(mem, 2275bv64) == 0bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 0bv8); + free requires (memory_load8_le(mem, 2278bv64) == 0bv8); + free requires (memory_load8_le(mem, 2279bv64) == 0bv8); + free requires (memory_load8_le(mem, 2280bv64) == 84bv8); + free requires (memory_load8_le(mem, 2281bv64) == 104bv8); + free requires (memory_load8_le(mem, 2282bv64) == 101bv8); + free requires (memory_load8_le(mem, 2283bv64) == 32bv8); + free requires (memory_load8_le(mem, 2284bv64) == 99bv8); + free requires (memory_load8_le(mem, 2285bv64) == 104bv8); + free requires (memory_load8_le(mem, 2286bv64) == 97bv8); + free requires (memory_load8_le(mem, 2287bv64) == 114bv8); + free requires (memory_load8_le(mem, 2288bv64) == 32bv8); + free requires (memory_load8_le(mem, 2289bv64) == 105bv8); + free requires (memory_load8_le(mem, 2290bv64) == 115bv8); + free requires (memory_load8_le(mem, 2291bv64) == 58bv8); + free requires (memory_load8_le(mem, 2292bv64) == 32bv8); + free requires (memory_load8_le(mem, 2293bv64) == 37bv8); + free requires (memory_load8_le(mem, 2294bv64) == 99bv8); + free requires (memory_load8_le(mem, 2295bv64) == 10bv8); + free requires (memory_load8_le(mem, 2296bv64) == 0bv8); + free requires (memory_load8_le(mem, 2297bv64) == 0bv8); + free requires (memory_load8_le(mem, 2298bv64) == 0bv8); + free requires (memory_load8_le(mem, 2299bv64) == 0bv8); + free requires (memory_load8_le(mem, 2300bv64) == 0bv8); + free requires (memory_load8_le(mem, 2301bv64) == 0bv8); + free requires (memory_load8_le(mem, 2302bv64) == 0bv8); + free requires (memory_load8_le(mem, 2303bv64) == 0bv8); + free requires (memory_load8_le(mem, 2304bv64) == 84bv8); + free requires (memory_load8_le(mem, 2305bv64) == 104bv8); + free requires (memory_load8_le(mem, 2306bv64) == 101bv8); + free requires (memory_load8_le(mem, 2307bv64) == 32bv8); + free requires (memory_load8_le(mem, 2308bv64) == 105bv8); + free requires (memory_load8_le(mem, 2309bv64) == 110bv8); + free requires (memory_load8_le(mem, 2310bv64) == 116bv8); + free requires (memory_load8_le(mem, 2311bv64) == 32bv8); + free requires (memory_load8_le(mem, 2312bv64) == 105bv8); + free requires (memory_load8_le(mem, 2313bv64) == 115bv8); + free requires (memory_load8_le(mem, 2314bv64) == 58bv8); + free requires (memory_load8_le(mem, 2315bv64) == 32bv8); + free requires (memory_load8_le(mem, 2316bv64) == 37bv8); + free requires (memory_load8_le(mem, 2317bv64) == 100bv8); + free requires (memory_load8_le(mem, 2318bv64) == 10bv8); + free requires (memory_load8_le(mem, 2319bv64) == 0bv8); + free requires (memory_load8_le(mem, 2320bv64) == 84bv8); + free requires (memory_load8_le(mem, 2321bv64) == 104bv8); + free requires (memory_load8_le(mem, 2322bv64) == 101bv8); + free requires (memory_load8_le(mem, 2323bv64) == 32bv8); + free requires (memory_load8_le(mem, 2324bv64) == 108bv8); + free requires (memory_load8_le(mem, 2325bv64) == 111bv8); + free requires (memory_load8_le(mem, 2326bv64) == 99bv8); + free requires (memory_load8_le(mem, 2327bv64) == 97bv8); + free requires (memory_load8_le(mem, 2328bv64) == 108bv8); + free requires (memory_load8_le(mem, 2329bv64) == 32bv8); + free requires (memory_load8_le(mem, 2330bv64) == 118bv8); + free requires (memory_load8_le(mem, 2331bv64) == 97bv8); + free requires (memory_load8_le(mem, 2332bv64) == 114bv8); + free requires (memory_load8_le(mem, 2333bv64) == 105bv8); + free requires (memory_load8_le(mem, 2334bv64) == 97bv8); + free requires (memory_load8_le(mem, 2335bv64) == 98bv8); + free requires (memory_load8_le(mem, 2336bv64) == 108bv8); + free requires (memory_load8_le(mem, 2337bv64) == 101bv8); + free requires (memory_load8_le(mem, 2338bv64) == 32bv8); + free requires (memory_load8_le(mem, 2339bv64) == 105bv8); + free requires (memory_load8_le(mem, 2340bv64) == 115bv8); + free requires (memory_load8_le(mem, 2341bv64) == 58bv8); + free requires (memory_load8_le(mem, 2342bv64) == 32bv8); + free requires (memory_load8_le(mem, 2343bv64) == 37bv8); + free requires (memory_load8_le(mem, 2344bv64) == 100bv8); + free requires (memory_load8_le(mem, 2345bv64) == 10bv8); + free requires (memory_load8_le(mem, 2346bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); diff --git a/src/test/correct/malloc_with_local3/clang/malloc_with_local3.expected b/src/test/correct/malloc_with_local3/clang/malloc_with_local3.expected index be44d8030..06358216a 100644 --- a/src/test/correct/malloc_with_local3/clang/malloc_with_local3.expected +++ b/src/test/correct/malloc_with_local3/clang/malloc_with_local3.expected @@ -76,9 +76,110 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2344bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2407bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2408bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2409bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2410bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2411bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2412bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2413bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -95,9 +196,6 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure #free(); - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 2344bv64) == 1bv8); free requires (memory_load8_le(mem, 2345bv64) == 0bv8); free requires (memory_load8_le(mem, 2346bv64) == 2bv8); @@ -168,38 +266,22 @@ procedure main() free requires (memory_load8_le(mem, 2411bv64) == 99bv8); free requires (memory_load8_le(mem, 2412bv64) == 10bv8); free requires (memory_load8_le(mem, 2413bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 8bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -208,14 +290,119 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2407bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2408bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2409bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2410bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2411bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2412bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2413bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 69688bv64) == 0bv8); free requires (memory_load8_le(mem, 69689bv64) == 0bv8); free requires (memory_load8_le(mem, 69690bv64) == 0bv8); @@ -232,10 +419,214 @@ procedure main() free requires (memory_load8_le(mem, 69701bv64) == 0bv8); free requires (memory_load8_le(mem, 69702bv64) == 0bv8); free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free requires (memory_load8_le(mem, 2344bv64) == 1bv8); + free requires (memory_load8_le(mem, 2345bv64) == 0bv8); + free requires (memory_load8_le(mem, 2346bv64) == 2bv8); + free requires (memory_load8_le(mem, 2347bv64) == 0bv8); + free requires (memory_load8_le(mem, 2348bv64) == 84bv8); + free requires (memory_load8_le(mem, 2349bv64) == 104bv8); + free requires (memory_load8_le(mem, 2350bv64) == 101bv8); + free requires (memory_load8_le(mem, 2351bv64) == 32bv8); + free requires (memory_load8_le(mem, 2352bv64) == 105bv8); + free requires (memory_load8_le(mem, 2353bv64) == 110bv8); + free requires (memory_load8_le(mem, 2354bv64) == 116bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 105bv8); + free requires (memory_load8_le(mem, 2357bv64) == 115bv8); + free requires (memory_load8_le(mem, 2358bv64) == 58bv8); + free requires (memory_load8_le(mem, 2359bv64) == 32bv8); + free requires (memory_load8_le(mem, 2360bv64) == 37bv8); + free requires (memory_load8_le(mem, 2361bv64) == 100bv8); + free requires (memory_load8_le(mem, 2362bv64) == 10bv8); + free requires (memory_load8_le(mem, 2363bv64) == 0bv8); + free requires (memory_load8_le(mem, 2364bv64) == 84bv8); + free requires (memory_load8_le(mem, 2365bv64) == 104bv8); + free requires (memory_load8_le(mem, 2366bv64) == 101bv8); + free requires (memory_load8_le(mem, 2367bv64) == 32bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 111bv8); + free requires (memory_load8_le(mem, 2370bv64) == 99bv8); + free requires (memory_load8_le(mem, 2371bv64) == 97bv8); + free requires (memory_load8_le(mem, 2372bv64) == 108bv8); + free requires (memory_load8_le(mem, 2373bv64) == 32bv8); + free requires (memory_load8_le(mem, 2374bv64) == 118bv8); + free requires (memory_load8_le(mem, 2375bv64) == 97bv8); + free requires (memory_load8_le(mem, 2376bv64) == 114bv8); + free requires (memory_load8_le(mem, 2377bv64) == 105bv8); + free requires (memory_load8_le(mem, 2378bv64) == 97bv8); + free requires (memory_load8_le(mem, 2379bv64) == 98bv8); + free requires (memory_load8_le(mem, 2380bv64) == 108bv8); + free requires (memory_load8_le(mem, 2381bv64) == 101bv8); + free requires (memory_load8_le(mem, 2382bv64) == 32bv8); + free requires (memory_load8_le(mem, 2383bv64) == 105bv8); + free requires (memory_load8_le(mem, 2384bv64) == 115bv8); + free requires (memory_load8_le(mem, 2385bv64) == 58bv8); + free requires (memory_load8_le(mem, 2386bv64) == 32bv8); + free requires (memory_load8_le(mem, 2387bv64) == 37bv8); + free requires (memory_load8_le(mem, 2388bv64) == 100bv8); + free requires (memory_load8_le(mem, 2389bv64) == 10bv8); + free requires (memory_load8_le(mem, 2390bv64) == 0bv8); + free requires (memory_load8_le(mem, 2391bv64) == 84bv8); + free requires (memory_load8_le(mem, 2392bv64) == 104bv8); + free requires (memory_load8_le(mem, 2393bv64) == 101bv8); + free requires (memory_load8_le(mem, 2394bv64) == 32bv8); + free requires (memory_load8_le(mem, 2395bv64) == 99bv8); + free requires (memory_load8_le(mem, 2396bv64) == 104bv8); + free requires (memory_load8_le(mem, 2397bv64) == 97bv8); + free requires (memory_load8_le(mem, 2398bv64) == 114bv8); + free requires (memory_load8_le(mem, 2399bv64) == 32bv8); + free requires (memory_load8_le(mem, 2400bv64) == 118bv8); + free requires (memory_load8_le(mem, 2401bv64) == 97bv8); + free requires (memory_load8_le(mem, 2402bv64) == 108bv8); + free requires (memory_load8_le(mem, 2403bv64) == 117bv8); + free requires (memory_load8_le(mem, 2404bv64) == 101bv8); + free requires (memory_load8_le(mem, 2405bv64) == 32bv8); + free requires (memory_load8_le(mem, 2406bv64) == 105bv8); + free requires (memory_load8_le(mem, 2407bv64) == 115bv8); + free requires (memory_load8_le(mem, 2408bv64) == 58bv8); + free requires (memory_load8_le(mem, 2409bv64) == 32bv8); + free requires (memory_load8_le(mem, 2410bv64) == 37bv8); + free requires (memory_load8_le(mem, 2411bv64) == 99bv8); + free requires (memory_load8_le(mem, 2412bv64) == 10bv8); + free requires (memory_load8_le(mem, 2413bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2344bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2407bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2408bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2409bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2410bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2411bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2412bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2413bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); { var #4: bv64; var #7: bv64; @@ -339,13 +730,421 @@ procedure main() } procedure malloc(); + free requires (memory_load8_le(mem, 2344bv64) == 1bv8); + free requires (memory_load8_le(mem, 2345bv64) == 0bv8); + free requires (memory_load8_le(mem, 2346bv64) == 2bv8); + free requires (memory_load8_le(mem, 2347bv64) == 0bv8); + free requires (memory_load8_le(mem, 2348bv64) == 84bv8); + free requires (memory_load8_le(mem, 2349bv64) == 104bv8); + free requires (memory_load8_le(mem, 2350bv64) == 101bv8); + free requires (memory_load8_le(mem, 2351bv64) == 32bv8); + free requires (memory_load8_le(mem, 2352bv64) == 105bv8); + free requires (memory_load8_le(mem, 2353bv64) == 110bv8); + free requires (memory_load8_le(mem, 2354bv64) == 116bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 105bv8); + free requires (memory_load8_le(mem, 2357bv64) == 115bv8); + free requires (memory_load8_le(mem, 2358bv64) == 58bv8); + free requires (memory_load8_le(mem, 2359bv64) == 32bv8); + free requires (memory_load8_le(mem, 2360bv64) == 37bv8); + free requires (memory_load8_le(mem, 2361bv64) == 100bv8); + free requires (memory_load8_le(mem, 2362bv64) == 10bv8); + free requires (memory_load8_le(mem, 2363bv64) == 0bv8); + free requires (memory_load8_le(mem, 2364bv64) == 84bv8); + free requires (memory_load8_le(mem, 2365bv64) == 104bv8); + free requires (memory_load8_le(mem, 2366bv64) == 101bv8); + free requires (memory_load8_le(mem, 2367bv64) == 32bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 111bv8); + free requires (memory_load8_le(mem, 2370bv64) == 99bv8); + free requires (memory_load8_le(mem, 2371bv64) == 97bv8); + free requires (memory_load8_le(mem, 2372bv64) == 108bv8); + free requires (memory_load8_le(mem, 2373bv64) == 32bv8); + free requires (memory_load8_le(mem, 2374bv64) == 118bv8); + free requires (memory_load8_le(mem, 2375bv64) == 97bv8); + free requires (memory_load8_le(mem, 2376bv64) == 114bv8); + free requires (memory_load8_le(mem, 2377bv64) == 105bv8); + free requires (memory_load8_le(mem, 2378bv64) == 97bv8); + free requires (memory_load8_le(mem, 2379bv64) == 98bv8); + free requires (memory_load8_le(mem, 2380bv64) == 108bv8); + free requires (memory_load8_le(mem, 2381bv64) == 101bv8); + free requires (memory_load8_le(mem, 2382bv64) == 32bv8); + free requires (memory_load8_le(mem, 2383bv64) == 105bv8); + free requires (memory_load8_le(mem, 2384bv64) == 115bv8); + free requires (memory_load8_le(mem, 2385bv64) == 58bv8); + free requires (memory_load8_le(mem, 2386bv64) == 32bv8); + free requires (memory_load8_le(mem, 2387bv64) == 37bv8); + free requires (memory_load8_le(mem, 2388bv64) == 100bv8); + free requires (memory_load8_le(mem, 2389bv64) == 10bv8); + free requires (memory_load8_le(mem, 2390bv64) == 0bv8); + free requires (memory_load8_le(mem, 2391bv64) == 84bv8); + free requires (memory_load8_le(mem, 2392bv64) == 104bv8); + free requires (memory_load8_le(mem, 2393bv64) == 101bv8); + free requires (memory_load8_le(mem, 2394bv64) == 32bv8); + free requires (memory_load8_le(mem, 2395bv64) == 99bv8); + free requires (memory_load8_le(mem, 2396bv64) == 104bv8); + free requires (memory_load8_le(mem, 2397bv64) == 97bv8); + free requires (memory_load8_le(mem, 2398bv64) == 114bv8); + free requires (memory_load8_le(mem, 2399bv64) == 32bv8); + free requires (memory_load8_le(mem, 2400bv64) == 118bv8); + free requires (memory_load8_le(mem, 2401bv64) == 97bv8); + free requires (memory_load8_le(mem, 2402bv64) == 108bv8); + free requires (memory_load8_le(mem, 2403bv64) == 117bv8); + free requires (memory_load8_le(mem, 2404bv64) == 101bv8); + free requires (memory_load8_le(mem, 2405bv64) == 32bv8); + free requires (memory_load8_le(mem, 2406bv64) == 105bv8); + free requires (memory_load8_le(mem, 2407bv64) == 115bv8); + free requires (memory_load8_le(mem, 2408bv64) == 58bv8); + free requires (memory_load8_le(mem, 2409bv64) == 32bv8); + free requires (memory_load8_le(mem, 2410bv64) == 37bv8); + free requires (memory_load8_le(mem, 2411bv64) == 99bv8); + free requires (memory_load8_le(mem, 2412bv64) == 10bv8); + free requires (memory_load8_le(mem, 2413bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2407bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2408bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2409bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2410bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2411bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2412bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2413bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure printCharValue() modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_stack, R0, R1, R29, R30, R31, R8, R9, stack; + free requires (memory_load8_le(mem, 2344bv64) == 1bv8); + free requires (memory_load8_le(mem, 2345bv64) == 0bv8); + free requires (memory_load8_le(mem, 2346bv64) == 2bv8); + free requires (memory_load8_le(mem, 2347bv64) == 0bv8); + free requires (memory_load8_le(mem, 2348bv64) == 84bv8); + free requires (memory_load8_le(mem, 2349bv64) == 104bv8); + free requires (memory_load8_le(mem, 2350bv64) == 101bv8); + free requires (memory_load8_le(mem, 2351bv64) == 32bv8); + free requires (memory_load8_le(mem, 2352bv64) == 105bv8); + free requires (memory_load8_le(mem, 2353bv64) == 110bv8); + free requires (memory_load8_le(mem, 2354bv64) == 116bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 105bv8); + free requires (memory_load8_le(mem, 2357bv64) == 115bv8); + free requires (memory_load8_le(mem, 2358bv64) == 58bv8); + free requires (memory_load8_le(mem, 2359bv64) == 32bv8); + free requires (memory_load8_le(mem, 2360bv64) == 37bv8); + free requires (memory_load8_le(mem, 2361bv64) == 100bv8); + free requires (memory_load8_le(mem, 2362bv64) == 10bv8); + free requires (memory_load8_le(mem, 2363bv64) == 0bv8); + free requires (memory_load8_le(mem, 2364bv64) == 84bv8); + free requires (memory_load8_le(mem, 2365bv64) == 104bv8); + free requires (memory_load8_le(mem, 2366bv64) == 101bv8); + free requires (memory_load8_le(mem, 2367bv64) == 32bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 111bv8); + free requires (memory_load8_le(mem, 2370bv64) == 99bv8); + free requires (memory_load8_le(mem, 2371bv64) == 97bv8); + free requires (memory_load8_le(mem, 2372bv64) == 108bv8); + free requires (memory_load8_le(mem, 2373bv64) == 32bv8); + free requires (memory_load8_le(mem, 2374bv64) == 118bv8); + free requires (memory_load8_le(mem, 2375bv64) == 97bv8); + free requires (memory_load8_le(mem, 2376bv64) == 114bv8); + free requires (memory_load8_le(mem, 2377bv64) == 105bv8); + free requires (memory_load8_le(mem, 2378bv64) == 97bv8); + free requires (memory_load8_le(mem, 2379bv64) == 98bv8); + free requires (memory_load8_le(mem, 2380bv64) == 108bv8); + free requires (memory_load8_le(mem, 2381bv64) == 101bv8); + free requires (memory_load8_le(mem, 2382bv64) == 32bv8); + free requires (memory_load8_le(mem, 2383bv64) == 105bv8); + free requires (memory_load8_le(mem, 2384bv64) == 115bv8); + free requires (memory_load8_le(mem, 2385bv64) == 58bv8); + free requires (memory_load8_le(mem, 2386bv64) == 32bv8); + free requires (memory_load8_le(mem, 2387bv64) == 37bv8); + free requires (memory_load8_le(mem, 2388bv64) == 100bv8); + free requires (memory_load8_le(mem, 2389bv64) == 10bv8); + free requires (memory_load8_le(mem, 2390bv64) == 0bv8); + free requires (memory_load8_le(mem, 2391bv64) == 84bv8); + free requires (memory_load8_le(mem, 2392bv64) == 104bv8); + free requires (memory_load8_le(mem, 2393bv64) == 101bv8); + free requires (memory_load8_le(mem, 2394bv64) == 32bv8); + free requires (memory_load8_le(mem, 2395bv64) == 99bv8); + free requires (memory_load8_le(mem, 2396bv64) == 104bv8); + free requires (memory_load8_le(mem, 2397bv64) == 97bv8); + free requires (memory_load8_le(mem, 2398bv64) == 114bv8); + free requires (memory_load8_le(mem, 2399bv64) == 32bv8); + free requires (memory_load8_le(mem, 2400bv64) == 118bv8); + free requires (memory_load8_le(mem, 2401bv64) == 97bv8); + free requires (memory_load8_le(mem, 2402bv64) == 108bv8); + free requires (memory_load8_le(mem, 2403bv64) == 117bv8); + free requires (memory_load8_le(mem, 2404bv64) == 101bv8); + free requires (memory_load8_le(mem, 2405bv64) == 32bv8); + free requires (memory_load8_le(mem, 2406bv64) == 105bv8); + free requires (memory_load8_le(mem, 2407bv64) == 115bv8); + free requires (memory_load8_le(mem, 2408bv64) == 58bv8); + free requires (memory_load8_le(mem, 2409bv64) == 32bv8); + free requires (memory_load8_le(mem, 2410bv64) == 37bv8); + free requires (memory_load8_le(mem, 2411bv64) == 99bv8); + free requires (memory_load8_le(mem, 2412bv64) == 10bv8); + free requires (memory_load8_le(mem, 2413bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2344bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2407bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2408bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2409bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2410bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2411bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2412bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2413bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); { var #5: bv64; var #6: bv64; @@ -378,3 +1177,207 @@ procedure printCharValue() } procedure printf(); + free requires (memory_load8_le(mem, 2344bv64) == 1bv8); + free requires (memory_load8_le(mem, 2345bv64) == 0bv8); + free requires (memory_load8_le(mem, 2346bv64) == 2bv8); + free requires (memory_load8_le(mem, 2347bv64) == 0bv8); + free requires (memory_load8_le(mem, 2348bv64) == 84bv8); + free requires (memory_load8_le(mem, 2349bv64) == 104bv8); + free requires (memory_load8_le(mem, 2350bv64) == 101bv8); + free requires (memory_load8_le(mem, 2351bv64) == 32bv8); + free requires (memory_load8_le(mem, 2352bv64) == 105bv8); + free requires (memory_load8_le(mem, 2353bv64) == 110bv8); + free requires (memory_load8_le(mem, 2354bv64) == 116bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 105bv8); + free requires (memory_load8_le(mem, 2357bv64) == 115bv8); + free requires (memory_load8_le(mem, 2358bv64) == 58bv8); + free requires (memory_load8_le(mem, 2359bv64) == 32bv8); + free requires (memory_load8_le(mem, 2360bv64) == 37bv8); + free requires (memory_load8_le(mem, 2361bv64) == 100bv8); + free requires (memory_load8_le(mem, 2362bv64) == 10bv8); + free requires (memory_load8_le(mem, 2363bv64) == 0bv8); + free requires (memory_load8_le(mem, 2364bv64) == 84bv8); + free requires (memory_load8_le(mem, 2365bv64) == 104bv8); + free requires (memory_load8_le(mem, 2366bv64) == 101bv8); + free requires (memory_load8_le(mem, 2367bv64) == 32bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 111bv8); + free requires (memory_load8_le(mem, 2370bv64) == 99bv8); + free requires (memory_load8_le(mem, 2371bv64) == 97bv8); + free requires (memory_load8_le(mem, 2372bv64) == 108bv8); + free requires (memory_load8_le(mem, 2373bv64) == 32bv8); + free requires (memory_load8_le(mem, 2374bv64) == 118bv8); + free requires (memory_load8_le(mem, 2375bv64) == 97bv8); + free requires (memory_load8_le(mem, 2376bv64) == 114bv8); + free requires (memory_load8_le(mem, 2377bv64) == 105bv8); + free requires (memory_load8_le(mem, 2378bv64) == 97bv8); + free requires (memory_load8_le(mem, 2379bv64) == 98bv8); + free requires (memory_load8_le(mem, 2380bv64) == 108bv8); + free requires (memory_load8_le(mem, 2381bv64) == 101bv8); + free requires (memory_load8_le(mem, 2382bv64) == 32bv8); + free requires (memory_load8_le(mem, 2383bv64) == 105bv8); + free requires (memory_load8_le(mem, 2384bv64) == 115bv8); + free requires (memory_load8_le(mem, 2385bv64) == 58bv8); + free requires (memory_load8_le(mem, 2386bv64) == 32bv8); + free requires (memory_load8_le(mem, 2387bv64) == 37bv8); + free requires (memory_load8_le(mem, 2388bv64) == 100bv8); + free requires (memory_load8_le(mem, 2389bv64) == 10bv8); + free requires (memory_load8_le(mem, 2390bv64) == 0bv8); + free requires (memory_load8_le(mem, 2391bv64) == 84bv8); + free requires (memory_load8_le(mem, 2392bv64) == 104bv8); + free requires (memory_load8_le(mem, 2393bv64) == 101bv8); + free requires (memory_load8_le(mem, 2394bv64) == 32bv8); + free requires (memory_load8_le(mem, 2395bv64) == 99bv8); + free requires (memory_load8_le(mem, 2396bv64) == 104bv8); + free requires (memory_load8_le(mem, 2397bv64) == 97bv8); + free requires (memory_load8_le(mem, 2398bv64) == 114bv8); + free requires (memory_load8_le(mem, 2399bv64) == 32bv8); + free requires (memory_load8_le(mem, 2400bv64) == 118bv8); + free requires (memory_load8_le(mem, 2401bv64) == 97bv8); + free requires (memory_load8_le(mem, 2402bv64) == 108bv8); + free requires (memory_load8_le(mem, 2403bv64) == 117bv8); + free requires (memory_load8_le(mem, 2404bv64) == 101bv8); + free requires (memory_load8_le(mem, 2405bv64) == 32bv8); + free requires (memory_load8_le(mem, 2406bv64) == 105bv8); + free requires (memory_load8_le(mem, 2407bv64) == 115bv8); + free requires (memory_load8_le(mem, 2408bv64) == 58bv8); + free requires (memory_load8_le(mem, 2409bv64) == 32bv8); + free requires (memory_load8_le(mem, 2410bv64) == 37bv8); + free requires (memory_load8_le(mem, 2411bv64) == 99bv8); + free requires (memory_load8_le(mem, 2412bv64) == 10bv8); + free requires (memory_load8_le(mem, 2413bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2407bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2408bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2409bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2410bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2411bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2412bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2413bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); diff --git a/src/test/correct/malloc_with_local3/clang_O2/malloc_with_local3.expected b/src/test/correct/malloc_with_local3/clang_O2/malloc_with_local3.expected index ac3816b96..6f982f26e 100644 --- a/src/test/correct/malloc_with_local3/clang_O2/malloc_with_local3.expected +++ b/src/test/correct/malloc_with_local3/clang_O2/malloc_with_local3.expected @@ -41,9 +41,110 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1996bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1998bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2000bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2001bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2002bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2003bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2004bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2005bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2006bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2007bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2008bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2009bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2010bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2011bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2012bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2013bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2014bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2016bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2017bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2018bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2019bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2020bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2021bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2022bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2023bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2024bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2032bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2033bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2034bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2035bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2036bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2037bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2038bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2039bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2040bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2041bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2042bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2043bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2044bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2045bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2046bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2047bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2048bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2049bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2050bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2051bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2052bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2053bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2054bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2055bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2056bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2057bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2058bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2059bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2060bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2061bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2062bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2063bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2064bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2065bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -61,6 +162,22 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R1, R29, R30, R31, stack; + free requires (memory_load8_le(mem, 69672bv64) == 0bv8); + free requires (memory_load8_le(mem, 69673bv64) == 0bv8); + free requires (memory_load8_le(mem, 69674bv64) == 0bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); free requires (memory_load8_le(mem, 1996bv64) == 1bv8); free requires (memory_load8_le(mem, 1997bv64) == 0bv8); free requires (memory_load8_le(mem, 1998bv64) == 2bv8); @@ -131,38 +248,22 @@ procedure main() free requires (memory_load8_le(mem, 2063bv64) == 99bv8); free requires (memory_load8_le(mem, 2064bv64) == 10bv8); free requires (memory_load8_le(mem, 2065bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 84bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -171,22 +272,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 0bv8); - free requires (memory_load8_le(mem, 69673bv64) == 0bv8); - free requires (memory_load8_le(mem, 69674bv64) == 0bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 69680bv64) == 48bv8); free requires (memory_load8_le(mem, 69681bv64) == 16bv8); free requires (memory_load8_le(mem, 69682bv64) == 1bv8); @@ -199,6 +284,108 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1996bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1998bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2000bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2001bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2002bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2003bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2004bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2005bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2006bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2007bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2008bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2009bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2010bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2011bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2012bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2013bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2014bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2016bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2017bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2018bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2019bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2020bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2021bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2022bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2023bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2024bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2032bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2033bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2034bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2035bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2036bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2037bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2038bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2039bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2040bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2041bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2042bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2043bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2044bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2045bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2046bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2047bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2048bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2049bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2050bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2051bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2052bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2053bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2054bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2055bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2056bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2057bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2058bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2059bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2060bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2061bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2062bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2063bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2064bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2065bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -237,3 +424,207 @@ procedure main() } procedure printf(); + free requires (memory_load8_le(mem, 1996bv64) == 1bv8); + free requires (memory_load8_le(mem, 1997bv64) == 0bv8); + free requires (memory_load8_le(mem, 1998bv64) == 2bv8); + free requires (memory_load8_le(mem, 1999bv64) == 0bv8); + free requires (memory_load8_le(mem, 2000bv64) == 84bv8); + free requires (memory_load8_le(mem, 2001bv64) == 104bv8); + free requires (memory_load8_le(mem, 2002bv64) == 101bv8); + free requires (memory_load8_le(mem, 2003bv64) == 32bv8); + free requires (memory_load8_le(mem, 2004bv64) == 105bv8); + free requires (memory_load8_le(mem, 2005bv64) == 110bv8); + free requires (memory_load8_le(mem, 2006bv64) == 116bv8); + free requires (memory_load8_le(mem, 2007bv64) == 32bv8); + free requires (memory_load8_le(mem, 2008bv64) == 105bv8); + free requires (memory_load8_le(mem, 2009bv64) == 115bv8); + free requires (memory_load8_le(mem, 2010bv64) == 58bv8); + free requires (memory_load8_le(mem, 2011bv64) == 32bv8); + free requires (memory_load8_le(mem, 2012bv64) == 37bv8); + free requires (memory_load8_le(mem, 2013bv64) == 100bv8); + free requires (memory_load8_le(mem, 2014bv64) == 10bv8); + free requires (memory_load8_le(mem, 2015bv64) == 0bv8); + free requires (memory_load8_le(mem, 2016bv64) == 84bv8); + free requires (memory_load8_le(mem, 2017bv64) == 104bv8); + free requires (memory_load8_le(mem, 2018bv64) == 101bv8); + free requires (memory_load8_le(mem, 2019bv64) == 32bv8); + free requires (memory_load8_le(mem, 2020bv64) == 108bv8); + free requires (memory_load8_le(mem, 2021bv64) == 111bv8); + free requires (memory_load8_le(mem, 2022bv64) == 99bv8); + free requires (memory_load8_le(mem, 2023bv64) == 97bv8); + free requires (memory_load8_le(mem, 2024bv64) == 108bv8); + free requires (memory_load8_le(mem, 2025bv64) == 32bv8); + free requires (memory_load8_le(mem, 2026bv64) == 118bv8); + free requires (memory_load8_le(mem, 2027bv64) == 97bv8); + free requires (memory_load8_le(mem, 2028bv64) == 114bv8); + free requires (memory_load8_le(mem, 2029bv64) == 105bv8); + free requires (memory_load8_le(mem, 2030bv64) == 97bv8); + free requires (memory_load8_le(mem, 2031bv64) == 98bv8); + free requires (memory_load8_le(mem, 2032bv64) == 108bv8); + free requires (memory_load8_le(mem, 2033bv64) == 101bv8); + free requires (memory_load8_le(mem, 2034bv64) == 32bv8); + free requires (memory_load8_le(mem, 2035bv64) == 105bv8); + free requires (memory_load8_le(mem, 2036bv64) == 115bv8); + free requires (memory_load8_le(mem, 2037bv64) == 58bv8); + free requires (memory_load8_le(mem, 2038bv64) == 32bv8); + free requires (memory_load8_le(mem, 2039bv64) == 37bv8); + free requires (memory_load8_le(mem, 2040bv64) == 100bv8); + free requires (memory_load8_le(mem, 2041bv64) == 10bv8); + free requires (memory_load8_le(mem, 2042bv64) == 0bv8); + free requires (memory_load8_le(mem, 2043bv64) == 84bv8); + free requires (memory_load8_le(mem, 2044bv64) == 104bv8); + free requires (memory_load8_le(mem, 2045bv64) == 101bv8); + free requires (memory_load8_le(mem, 2046bv64) == 32bv8); + free requires (memory_load8_le(mem, 2047bv64) == 99bv8); + free requires (memory_load8_le(mem, 2048bv64) == 104bv8); + free requires (memory_load8_le(mem, 2049bv64) == 97bv8); + free requires (memory_load8_le(mem, 2050bv64) == 114bv8); + free requires (memory_load8_le(mem, 2051bv64) == 32bv8); + free requires (memory_load8_le(mem, 2052bv64) == 118bv8); + free requires (memory_load8_le(mem, 2053bv64) == 97bv8); + free requires (memory_load8_le(mem, 2054bv64) == 108bv8); + free requires (memory_load8_le(mem, 2055bv64) == 117bv8); + free requires (memory_load8_le(mem, 2056bv64) == 101bv8); + free requires (memory_load8_le(mem, 2057bv64) == 32bv8); + free requires (memory_load8_le(mem, 2058bv64) == 105bv8); + free requires (memory_load8_le(mem, 2059bv64) == 115bv8); + free requires (memory_load8_le(mem, 2060bv64) == 58bv8); + free requires (memory_load8_le(mem, 2061bv64) == 32bv8); + free requires (memory_load8_le(mem, 2062bv64) == 37bv8); + free requires (memory_load8_le(mem, 2063bv64) == 99bv8); + free requires (memory_load8_le(mem, 2064bv64) == 10bv8); + free requires (memory_load8_le(mem, 2065bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 84bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1996bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1998bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2000bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2001bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2002bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2003bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2004bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2005bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2006bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2007bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2008bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2009bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2010bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2011bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2012bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2013bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2014bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2016bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2017bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2018bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2019bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2020bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2021bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2022bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2023bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2024bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2032bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2033bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2034bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2035bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2036bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2037bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2038bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2039bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2040bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2041bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2042bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2043bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2044bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2045bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2046bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2047bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2048bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2049bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2050bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2051bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2052bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2053bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2054bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2055bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2056bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2057bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2058bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2059bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2060bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2061bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2062bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2063bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2064bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2065bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); diff --git a/src/test/correct/malloc_with_local3/clang_no_plt_no_pic/malloc_with_local3.expected b/src/test/correct/malloc_with_local3/clang_no_plt_no_pic/malloc_with_local3.expected index d37135e6c..dac71539d 100644 --- a/src/test/correct/malloc_with_local3/clang_no_plt_no_pic/malloc_with_local3.expected +++ b/src/test/correct/malloc_with_local3/clang_no_plt_no_pic/malloc_with_local3.expected @@ -76,9 +76,110 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2344bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2407bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2408bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2409bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2410bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2411bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2412bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2413bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -95,9 +196,6 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure #free(); - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 2344bv64) == 1bv8); free requires (memory_load8_le(mem, 2345bv64) == 0bv8); free requires (memory_load8_le(mem, 2346bv64) == 2bv8); @@ -168,38 +266,22 @@ procedure main() free requires (memory_load8_le(mem, 2411bv64) == 99bv8); free requires (memory_load8_le(mem, 2412bv64) == 10bv8); free requires (memory_load8_le(mem, 2413bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 8bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -208,14 +290,119 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2407bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2408bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2409bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2410bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2411bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2412bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2413bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 69688bv64) == 0bv8); free requires (memory_load8_le(mem, 69689bv64) == 0bv8); free requires (memory_load8_le(mem, 69690bv64) == 0bv8); @@ -232,10 +419,214 @@ procedure main() free requires (memory_load8_le(mem, 69701bv64) == 0bv8); free requires (memory_load8_le(mem, 69702bv64) == 0bv8); free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free requires (memory_load8_le(mem, 2344bv64) == 1bv8); + free requires (memory_load8_le(mem, 2345bv64) == 0bv8); + free requires (memory_load8_le(mem, 2346bv64) == 2bv8); + free requires (memory_load8_le(mem, 2347bv64) == 0bv8); + free requires (memory_load8_le(mem, 2348bv64) == 84bv8); + free requires (memory_load8_le(mem, 2349bv64) == 104bv8); + free requires (memory_load8_le(mem, 2350bv64) == 101bv8); + free requires (memory_load8_le(mem, 2351bv64) == 32bv8); + free requires (memory_load8_le(mem, 2352bv64) == 105bv8); + free requires (memory_load8_le(mem, 2353bv64) == 110bv8); + free requires (memory_load8_le(mem, 2354bv64) == 116bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 105bv8); + free requires (memory_load8_le(mem, 2357bv64) == 115bv8); + free requires (memory_load8_le(mem, 2358bv64) == 58bv8); + free requires (memory_load8_le(mem, 2359bv64) == 32bv8); + free requires (memory_load8_le(mem, 2360bv64) == 37bv8); + free requires (memory_load8_le(mem, 2361bv64) == 100bv8); + free requires (memory_load8_le(mem, 2362bv64) == 10bv8); + free requires (memory_load8_le(mem, 2363bv64) == 0bv8); + free requires (memory_load8_le(mem, 2364bv64) == 84bv8); + free requires (memory_load8_le(mem, 2365bv64) == 104bv8); + free requires (memory_load8_le(mem, 2366bv64) == 101bv8); + free requires (memory_load8_le(mem, 2367bv64) == 32bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 111bv8); + free requires (memory_load8_le(mem, 2370bv64) == 99bv8); + free requires (memory_load8_le(mem, 2371bv64) == 97bv8); + free requires (memory_load8_le(mem, 2372bv64) == 108bv8); + free requires (memory_load8_le(mem, 2373bv64) == 32bv8); + free requires (memory_load8_le(mem, 2374bv64) == 118bv8); + free requires (memory_load8_le(mem, 2375bv64) == 97bv8); + free requires (memory_load8_le(mem, 2376bv64) == 114bv8); + free requires (memory_load8_le(mem, 2377bv64) == 105bv8); + free requires (memory_load8_le(mem, 2378bv64) == 97bv8); + free requires (memory_load8_le(mem, 2379bv64) == 98bv8); + free requires (memory_load8_le(mem, 2380bv64) == 108bv8); + free requires (memory_load8_le(mem, 2381bv64) == 101bv8); + free requires (memory_load8_le(mem, 2382bv64) == 32bv8); + free requires (memory_load8_le(mem, 2383bv64) == 105bv8); + free requires (memory_load8_le(mem, 2384bv64) == 115bv8); + free requires (memory_load8_le(mem, 2385bv64) == 58bv8); + free requires (memory_load8_le(mem, 2386bv64) == 32bv8); + free requires (memory_load8_le(mem, 2387bv64) == 37bv8); + free requires (memory_load8_le(mem, 2388bv64) == 100bv8); + free requires (memory_load8_le(mem, 2389bv64) == 10bv8); + free requires (memory_load8_le(mem, 2390bv64) == 0bv8); + free requires (memory_load8_le(mem, 2391bv64) == 84bv8); + free requires (memory_load8_le(mem, 2392bv64) == 104bv8); + free requires (memory_load8_le(mem, 2393bv64) == 101bv8); + free requires (memory_load8_le(mem, 2394bv64) == 32bv8); + free requires (memory_load8_le(mem, 2395bv64) == 99bv8); + free requires (memory_load8_le(mem, 2396bv64) == 104bv8); + free requires (memory_load8_le(mem, 2397bv64) == 97bv8); + free requires (memory_load8_le(mem, 2398bv64) == 114bv8); + free requires (memory_load8_le(mem, 2399bv64) == 32bv8); + free requires (memory_load8_le(mem, 2400bv64) == 118bv8); + free requires (memory_load8_le(mem, 2401bv64) == 97bv8); + free requires (memory_load8_le(mem, 2402bv64) == 108bv8); + free requires (memory_load8_le(mem, 2403bv64) == 117bv8); + free requires (memory_load8_le(mem, 2404bv64) == 101bv8); + free requires (memory_load8_le(mem, 2405bv64) == 32bv8); + free requires (memory_load8_le(mem, 2406bv64) == 105bv8); + free requires (memory_load8_le(mem, 2407bv64) == 115bv8); + free requires (memory_load8_le(mem, 2408bv64) == 58bv8); + free requires (memory_load8_le(mem, 2409bv64) == 32bv8); + free requires (memory_load8_le(mem, 2410bv64) == 37bv8); + free requires (memory_load8_le(mem, 2411bv64) == 99bv8); + free requires (memory_load8_le(mem, 2412bv64) == 10bv8); + free requires (memory_load8_le(mem, 2413bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2344bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2407bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2408bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2409bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2410bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2411bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2412bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2413bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); { var #4: bv64; var #7: bv64; @@ -339,13 +730,421 @@ procedure main() } procedure malloc(); + free requires (memory_load8_le(mem, 2344bv64) == 1bv8); + free requires (memory_load8_le(mem, 2345bv64) == 0bv8); + free requires (memory_load8_le(mem, 2346bv64) == 2bv8); + free requires (memory_load8_le(mem, 2347bv64) == 0bv8); + free requires (memory_load8_le(mem, 2348bv64) == 84bv8); + free requires (memory_load8_le(mem, 2349bv64) == 104bv8); + free requires (memory_load8_le(mem, 2350bv64) == 101bv8); + free requires (memory_load8_le(mem, 2351bv64) == 32bv8); + free requires (memory_load8_le(mem, 2352bv64) == 105bv8); + free requires (memory_load8_le(mem, 2353bv64) == 110bv8); + free requires (memory_load8_le(mem, 2354bv64) == 116bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 105bv8); + free requires (memory_load8_le(mem, 2357bv64) == 115bv8); + free requires (memory_load8_le(mem, 2358bv64) == 58bv8); + free requires (memory_load8_le(mem, 2359bv64) == 32bv8); + free requires (memory_load8_le(mem, 2360bv64) == 37bv8); + free requires (memory_load8_le(mem, 2361bv64) == 100bv8); + free requires (memory_load8_le(mem, 2362bv64) == 10bv8); + free requires (memory_load8_le(mem, 2363bv64) == 0bv8); + free requires (memory_load8_le(mem, 2364bv64) == 84bv8); + free requires (memory_load8_le(mem, 2365bv64) == 104bv8); + free requires (memory_load8_le(mem, 2366bv64) == 101bv8); + free requires (memory_load8_le(mem, 2367bv64) == 32bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 111bv8); + free requires (memory_load8_le(mem, 2370bv64) == 99bv8); + free requires (memory_load8_le(mem, 2371bv64) == 97bv8); + free requires (memory_load8_le(mem, 2372bv64) == 108bv8); + free requires (memory_load8_le(mem, 2373bv64) == 32bv8); + free requires (memory_load8_le(mem, 2374bv64) == 118bv8); + free requires (memory_load8_le(mem, 2375bv64) == 97bv8); + free requires (memory_load8_le(mem, 2376bv64) == 114bv8); + free requires (memory_load8_le(mem, 2377bv64) == 105bv8); + free requires (memory_load8_le(mem, 2378bv64) == 97bv8); + free requires (memory_load8_le(mem, 2379bv64) == 98bv8); + free requires (memory_load8_le(mem, 2380bv64) == 108bv8); + free requires (memory_load8_le(mem, 2381bv64) == 101bv8); + free requires (memory_load8_le(mem, 2382bv64) == 32bv8); + free requires (memory_load8_le(mem, 2383bv64) == 105bv8); + free requires (memory_load8_le(mem, 2384bv64) == 115bv8); + free requires (memory_load8_le(mem, 2385bv64) == 58bv8); + free requires (memory_load8_le(mem, 2386bv64) == 32bv8); + free requires (memory_load8_le(mem, 2387bv64) == 37bv8); + free requires (memory_load8_le(mem, 2388bv64) == 100bv8); + free requires (memory_load8_le(mem, 2389bv64) == 10bv8); + free requires (memory_load8_le(mem, 2390bv64) == 0bv8); + free requires (memory_load8_le(mem, 2391bv64) == 84bv8); + free requires (memory_load8_le(mem, 2392bv64) == 104bv8); + free requires (memory_load8_le(mem, 2393bv64) == 101bv8); + free requires (memory_load8_le(mem, 2394bv64) == 32bv8); + free requires (memory_load8_le(mem, 2395bv64) == 99bv8); + free requires (memory_load8_le(mem, 2396bv64) == 104bv8); + free requires (memory_load8_le(mem, 2397bv64) == 97bv8); + free requires (memory_load8_le(mem, 2398bv64) == 114bv8); + free requires (memory_load8_le(mem, 2399bv64) == 32bv8); + free requires (memory_load8_le(mem, 2400bv64) == 118bv8); + free requires (memory_load8_le(mem, 2401bv64) == 97bv8); + free requires (memory_load8_le(mem, 2402bv64) == 108bv8); + free requires (memory_load8_le(mem, 2403bv64) == 117bv8); + free requires (memory_load8_le(mem, 2404bv64) == 101bv8); + free requires (memory_load8_le(mem, 2405bv64) == 32bv8); + free requires (memory_load8_le(mem, 2406bv64) == 105bv8); + free requires (memory_load8_le(mem, 2407bv64) == 115bv8); + free requires (memory_load8_le(mem, 2408bv64) == 58bv8); + free requires (memory_load8_le(mem, 2409bv64) == 32bv8); + free requires (memory_load8_le(mem, 2410bv64) == 37bv8); + free requires (memory_load8_le(mem, 2411bv64) == 99bv8); + free requires (memory_load8_le(mem, 2412bv64) == 10bv8); + free requires (memory_load8_le(mem, 2413bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2407bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2408bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2409bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2410bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2411bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2412bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2413bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure printCharValue() modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_stack, R0, R1, R29, R30, R31, R8, R9, stack; + free requires (memory_load8_le(mem, 2344bv64) == 1bv8); + free requires (memory_load8_le(mem, 2345bv64) == 0bv8); + free requires (memory_load8_le(mem, 2346bv64) == 2bv8); + free requires (memory_load8_le(mem, 2347bv64) == 0bv8); + free requires (memory_load8_le(mem, 2348bv64) == 84bv8); + free requires (memory_load8_le(mem, 2349bv64) == 104bv8); + free requires (memory_load8_le(mem, 2350bv64) == 101bv8); + free requires (memory_load8_le(mem, 2351bv64) == 32bv8); + free requires (memory_load8_le(mem, 2352bv64) == 105bv8); + free requires (memory_load8_le(mem, 2353bv64) == 110bv8); + free requires (memory_load8_le(mem, 2354bv64) == 116bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 105bv8); + free requires (memory_load8_le(mem, 2357bv64) == 115bv8); + free requires (memory_load8_le(mem, 2358bv64) == 58bv8); + free requires (memory_load8_le(mem, 2359bv64) == 32bv8); + free requires (memory_load8_le(mem, 2360bv64) == 37bv8); + free requires (memory_load8_le(mem, 2361bv64) == 100bv8); + free requires (memory_load8_le(mem, 2362bv64) == 10bv8); + free requires (memory_load8_le(mem, 2363bv64) == 0bv8); + free requires (memory_load8_le(mem, 2364bv64) == 84bv8); + free requires (memory_load8_le(mem, 2365bv64) == 104bv8); + free requires (memory_load8_le(mem, 2366bv64) == 101bv8); + free requires (memory_load8_le(mem, 2367bv64) == 32bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 111bv8); + free requires (memory_load8_le(mem, 2370bv64) == 99bv8); + free requires (memory_load8_le(mem, 2371bv64) == 97bv8); + free requires (memory_load8_le(mem, 2372bv64) == 108bv8); + free requires (memory_load8_le(mem, 2373bv64) == 32bv8); + free requires (memory_load8_le(mem, 2374bv64) == 118bv8); + free requires (memory_load8_le(mem, 2375bv64) == 97bv8); + free requires (memory_load8_le(mem, 2376bv64) == 114bv8); + free requires (memory_load8_le(mem, 2377bv64) == 105bv8); + free requires (memory_load8_le(mem, 2378bv64) == 97bv8); + free requires (memory_load8_le(mem, 2379bv64) == 98bv8); + free requires (memory_load8_le(mem, 2380bv64) == 108bv8); + free requires (memory_load8_le(mem, 2381bv64) == 101bv8); + free requires (memory_load8_le(mem, 2382bv64) == 32bv8); + free requires (memory_load8_le(mem, 2383bv64) == 105bv8); + free requires (memory_load8_le(mem, 2384bv64) == 115bv8); + free requires (memory_load8_le(mem, 2385bv64) == 58bv8); + free requires (memory_load8_le(mem, 2386bv64) == 32bv8); + free requires (memory_load8_le(mem, 2387bv64) == 37bv8); + free requires (memory_load8_le(mem, 2388bv64) == 100bv8); + free requires (memory_load8_le(mem, 2389bv64) == 10bv8); + free requires (memory_load8_le(mem, 2390bv64) == 0bv8); + free requires (memory_load8_le(mem, 2391bv64) == 84bv8); + free requires (memory_load8_le(mem, 2392bv64) == 104bv8); + free requires (memory_load8_le(mem, 2393bv64) == 101bv8); + free requires (memory_load8_le(mem, 2394bv64) == 32bv8); + free requires (memory_load8_le(mem, 2395bv64) == 99bv8); + free requires (memory_load8_le(mem, 2396bv64) == 104bv8); + free requires (memory_load8_le(mem, 2397bv64) == 97bv8); + free requires (memory_load8_le(mem, 2398bv64) == 114bv8); + free requires (memory_load8_le(mem, 2399bv64) == 32bv8); + free requires (memory_load8_le(mem, 2400bv64) == 118bv8); + free requires (memory_load8_le(mem, 2401bv64) == 97bv8); + free requires (memory_load8_le(mem, 2402bv64) == 108bv8); + free requires (memory_load8_le(mem, 2403bv64) == 117bv8); + free requires (memory_load8_le(mem, 2404bv64) == 101bv8); + free requires (memory_load8_le(mem, 2405bv64) == 32bv8); + free requires (memory_load8_le(mem, 2406bv64) == 105bv8); + free requires (memory_load8_le(mem, 2407bv64) == 115bv8); + free requires (memory_load8_le(mem, 2408bv64) == 58bv8); + free requires (memory_load8_le(mem, 2409bv64) == 32bv8); + free requires (memory_load8_le(mem, 2410bv64) == 37bv8); + free requires (memory_load8_le(mem, 2411bv64) == 99bv8); + free requires (memory_load8_le(mem, 2412bv64) == 10bv8); + free requires (memory_load8_le(mem, 2413bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2344bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2407bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2408bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2409bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2410bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2411bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2412bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2413bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); { var #5: bv64; var #6: bv64; @@ -378,3 +1177,207 @@ procedure printCharValue() } procedure printf(); + free requires (memory_load8_le(mem, 2344bv64) == 1bv8); + free requires (memory_load8_le(mem, 2345bv64) == 0bv8); + free requires (memory_load8_le(mem, 2346bv64) == 2bv8); + free requires (memory_load8_le(mem, 2347bv64) == 0bv8); + free requires (memory_load8_le(mem, 2348bv64) == 84bv8); + free requires (memory_load8_le(mem, 2349bv64) == 104bv8); + free requires (memory_load8_le(mem, 2350bv64) == 101bv8); + free requires (memory_load8_le(mem, 2351bv64) == 32bv8); + free requires (memory_load8_le(mem, 2352bv64) == 105bv8); + free requires (memory_load8_le(mem, 2353bv64) == 110bv8); + free requires (memory_load8_le(mem, 2354bv64) == 116bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 105bv8); + free requires (memory_load8_le(mem, 2357bv64) == 115bv8); + free requires (memory_load8_le(mem, 2358bv64) == 58bv8); + free requires (memory_load8_le(mem, 2359bv64) == 32bv8); + free requires (memory_load8_le(mem, 2360bv64) == 37bv8); + free requires (memory_load8_le(mem, 2361bv64) == 100bv8); + free requires (memory_load8_le(mem, 2362bv64) == 10bv8); + free requires (memory_load8_le(mem, 2363bv64) == 0bv8); + free requires (memory_load8_le(mem, 2364bv64) == 84bv8); + free requires (memory_load8_le(mem, 2365bv64) == 104bv8); + free requires (memory_load8_le(mem, 2366bv64) == 101bv8); + free requires (memory_load8_le(mem, 2367bv64) == 32bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 111bv8); + free requires (memory_load8_le(mem, 2370bv64) == 99bv8); + free requires (memory_load8_le(mem, 2371bv64) == 97bv8); + free requires (memory_load8_le(mem, 2372bv64) == 108bv8); + free requires (memory_load8_le(mem, 2373bv64) == 32bv8); + free requires (memory_load8_le(mem, 2374bv64) == 118bv8); + free requires (memory_load8_le(mem, 2375bv64) == 97bv8); + free requires (memory_load8_le(mem, 2376bv64) == 114bv8); + free requires (memory_load8_le(mem, 2377bv64) == 105bv8); + free requires (memory_load8_le(mem, 2378bv64) == 97bv8); + free requires (memory_load8_le(mem, 2379bv64) == 98bv8); + free requires (memory_load8_le(mem, 2380bv64) == 108bv8); + free requires (memory_load8_le(mem, 2381bv64) == 101bv8); + free requires (memory_load8_le(mem, 2382bv64) == 32bv8); + free requires (memory_load8_le(mem, 2383bv64) == 105bv8); + free requires (memory_load8_le(mem, 2384bv64) == 115bv8); + free requires (memory_load8_le(mem, 2385bv64) == 58bv8); + free requires (memory_load8_le(mem, 2386bv64) == 32bv8); + free requires (memory_load8_le(mem, 2387bv64) == 37bv8); + free requires (memory_load8_le(mem, 2388bv64) == 100bv8); + free requires (memory_load8_le(mem, 2389bv64) == 10bv8); + free requires (memory_load8_le(mem, 2390bv64) == 0bv8); + free requires (memory_load8_le(mem, 2391bv64) == 84bv8); + free requires (memory_load8_le(mem, 2392bv64) == 104bv8); + free requires (memory_load8_le(mem, 2393bv64) == 101bv8); + free requires (memory_load8_le(mem, 2394bv64) == 32bv8); + free requires (memory_load8_le(mem, 2395bv64) == 99bv8); + free requires (memory_load8_le(mem, 2396bv64) == 104bv8); + free requires (memory_load8_le(mem, 2397bv64) == 97bv8); + free requires (memory_load8_le(mem, 2398bv64) == 114bv8); + free requires (memory_load8_le(mem, 2399bv64) == 32bv8); + free requires (memory_load8_le(mem, 2400bv64) == 118bv8); + free requires (memory_load8_le(mem, 2401bv64) == 97bv8); + free requires (memory_load8_le(mem, 2402bv64) == 108bv8); + free requires (memory_load8_le(mem, 2403bv64) == 117bv8); + free requires (memory_load8_le(mem, 2404bv64) == 101bv8); + free requires (memory_load8_le(mem, 2405bv64) == 32bv8); + free requires (memory_load8_le(mem, 2406bv64) == 105bv8); + free requires (memory_load8_le(mem, 2407bv64) == 115bv8); + free requires (memory_load8_le(mem, 2408bv64) == 58bv8); + free requires (memory_load8_le(mem, 2409bv64) == 32bv8); + free requires (memory_load8_le(mem, 2410bv64) == 37bv8); + free requires (memory_load8_le(mem, 2411bv64) == 99bv8); + free requires (memory_load8_le(mem, 2412bv64) == 10bv8); + free requires (memory_load8_le(mem, 2413bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2407bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2408bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2409bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2410bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2411bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2412bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2413bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); diff --git a/src/test/correct/malloc_with_local3/clang_pic/malloc_with_local3.expected b/src/test/correct/malloc_with_local3/clang_pic/malloc_with_local3.expected index d37135e6c..dac71539d 100644 --- a/src/test/correct/malloc_with_local3/clang_pic/malloc_with_local3.expected +++ b/src/test/correct/malloc_with_local3/clang_pic/malloc_with_local3.expected @@ -76,9 +76,110 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2344bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2407bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2408bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2409bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2410bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2411bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2412bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2413bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -95,9 +196,6 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure #free(); - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 2344bv64) == 1bv8); free requires (memory_load8_le(mem, 2345bv64) == 0bv8); free requires (memory_load8_le(mem, 2346bv64) == 2bv8); @@ -168,38 +266,22 @@ procedure main() free requires (memory_load8_le(mem, 2411bv64) == 99bv8); free requires (memory_load8_le(mem, 2412bv64) == 10bv8); free requires (memory_load8_le(mem, 2413bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 8bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -208,14 +290,119 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2407bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2408bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2409bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2410bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2411bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2412bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2413bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 69688bv64) == 0bv8); free requires (memory_load8_le(mem, 69689bv64) == 0bv8); free requires (memory_load8_le(mem, 69690bv64) == 0bv8); @@ -232,10 +419,214 @@ procedure main() free requires (memory_load8_le(mem, 69701bv64) == 0bv8); free requires (memory_load8_le(mem, 69702bv64) == 0bv8); free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free requires (memory_load8_le(mem, 2344bv64) == 1bv8); + free requires (memory_load8_le(mem, 2345bv64) == 0bv8); + free requires (memory_load8_le(mem, 2346bv64) == 2bv8); + free requires (memory_load8_le(mem, 2347bv64) == 0bv8); + free requires (memory_load8_le(mem, 2348bv64) == 84bv8); + free requires (memory_load8_le(mem, 2349bv64) == 104bv8); + free requires (memory_load8_le(mem, 2350bv64) == 101bv8); + free requires (memory_load8_le(mem, 2351bv64) == 32bv8); + free requires (memory_load8_le(mem, 2352bv64) == 105bv8); + free requires (memory_load8_le(mem, 2353bv64) == 110bv8); + free requires (memory_load8_le(mem, 2354bv64) == 116bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 105bv8); + free requires (memory_load8_le(mem, 2357bv64) == 115bv8); + free requires (memory_load8_le(mem, 2358bv64) == 58bv8); + free requires (memory_load8_le(mem, 2359bv64) == 32bv8); + free requires (memory_load8_le(mem, 2360bv64) == 37bv8); + free requires (memory_load8_le(mem, 2361bv64) == 100bv8); + free requires (memory_load8_le(mem, 2362bv64) == 10bv8); + free requires (memory_load8_le(mem, 2363bv64) == 0bv8); + free requires (memory_load8_le(mem, 2364bv64) == 84bv8); + free requires (memory_load8_le(mem, 2365bv64) == 104bv8); + free requires (memory_load8_le(mem, 2366bv64) == 101bv8); + free requires (memory_load8_le(mem, 2367bv64) == 32bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 111bv8); + free requires (memory_load8_le(mem, 2370bv64) == 99bv8); + free requires (memory_load8_le(mem, 2371bv64) == 97bv8); + free requires (memory_load8_le(mem, 2372bv64) == 108bv8); + free requires (memory_load8_le(mem, 2373bv64) == 32bv8); + free requires (memory_load8_le(mem, 2374bv64) == 118bv8); + free requires (memory_load8_le(mem, 2375bv64) == 97bv8); + free requires (memory_load8_le(mem, 2376bv64) == 114bv8); + free requires (memory_load8_le(mem, 2377bv64) == 105bv8); + free requires (memory_load8_le(mem, 2378bv64) == 97bv8); + free requires (memory_load8_le(mem, 2379bv64) == 98bv8); + free requires (memory_load8_le(mem, 2380bv64) == 108bv8); + free requires (memory_load8_le(mem, 2381bv64) == 101bv8); + free requires (memory_load8_le(mem, 2382bv64) == 32bv8); + free requires (memory_load8_le(mem, 2383bv64) == 105bv8); + free requires (memory_load8_le(mem, 2384bv64) == 115bv8); + free requires (memory_load8_le(mem, 2385bv64) == 58bv8); + free requires (memory_load8_le(mem, 2386bv64) == 32bv8); + free requires (memory_load8_le(mem, 2387bv64) == 37bv8); + free requires (memory_load8_le(mem, 2388bv64) == 100bv8); + free requires (memory_load8_le(mem, 2389bv64) == 10bv8); + free requires (memory_load8_le(mem, 2390bv64) == 0bv8); + free requires (memory_load8_le(mem, 2391bv64) == 84bv8); + free requires (memory_load8_le(mem, 2392bv64) == 104bv8); + free requires (memory_load8_le(mem, 2393bv64) == 101bv8); + free requires (memory_load8_le(mem, 2394bv64) == 32bv8); + free requires (memory_load8_le(mem, 2395bv64) == 99bv8); + free requires (memory_load8_le(mem, 2396bv64) == 104bv8); + free requires (memory_load8_le(mem, 2397bv64) == 97bv8); + free requires (memory_load8_le(mem, 2398bv64) == 114bv8); + free requires (memory_load8_le(mem, 2399bv64) == 32bv8); + free requires (memory_load8_le(mem, 2400bv64) == 118bv8); + free requires (memory_load8_le(mem, 2401bv64) == 97bv8); + free requires (memory_load8_le(mem, 2402bv64) == 108bv8); + free requires (memory_load8_le(mem, 2403bv64) == 117bv8); + free requires (memory_load8_le(mem, 2404bv64) == 101bv8); + free requires (memory_load8_le(mem, 2405bv64) == 32bv8); + free requires (memory_load8_le(mem, 2406bv64) == 105bv8); + free requires (memory_load8_le(mem, 2407bv64) == 115bv8); + free requires (memory_load8_le(mem, 2408bv64) == 58bv8); + free requires (memory_load8_le(mem, 2409bv64) == 32bv8); + free requires (memory_load8_le(mem, 2410bv64) == 37bv8); + free requires (memory_load8_le(mem, 2411bv64) == 99bv8); + free requires (memory_load8_le(mem, 2412bv64) == 10bv8); + free requires (memory_load8_le(mem, 2413bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2344bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2407bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2408bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2409bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2410bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2411bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2412bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2413bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); { var #4: bv64; var #7: bv64; @@ -339,13 +730,421 @@ procedure main() } procedure malloc(); + free requires (memory_load8_le(mem, 2344bv64) == 1bv8); + free requires (memory_load8_le(mem, 2345bv64) == 0bv8); + free requires (memory_load8_le(mem, 2346bv64) == 2bv8); + free requires (memory_load8_le(mem, 2347bv64) == 0bv8); + free requires (memory_load8_le(mem, 2348bv64) == 84bv8); + free requires (memory_load8_le(mem, 2349bv64) == 104bv8); + free requires (memory_load8_le(mem, 2350bv64) == 101bv8); + free requires (memory_load8_le(mem, 2351bv64) == 32bv8); + free requires (memory_load8_le(mem, 2352bv64) == 105bv8); + free requires (memory_load8_le(mem, 2353bv64) == 110bv8); + free requires (memory_load8_le(mem, 2354bv64) == 116bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 105bv8); + free requires (memory_load8_le(mem, 2357bv64) == 115bv8); + free requires (memory_load8_le(mem, 2358bv64) == 58bv8); + free requires (memory_load8_le(mem, 2359bv64) == 32bv8); + free requires (memory_load8_le(mem, 2360bv64) == 37bv8); + free requires (memory_load8_le(mem, 2361bv64) == 100bv8); + free requires (memory_load8_le(mem, 2362bv64) == 10bv8); + free requires (memory_load8_le(mem, 2363bv64) == 0bv8); + free requires (memory_load8_le(mem, 2364bv64) == 84bv8); + free requires (memory_load8_le(mem, 2365bv64) == 104bv8); + free requires (memory_load8_le(mem, 2366bv64) == 101bv8); + free requires (memory_load8_le(mem, 2367bv64) == 32bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 111bv8); + free requires (memory_load8_le(mem, 2370bv64) == 99bv8); + free requires (memory_load8_le(mem, 2371bv64) == 97bv8); + free requires (memory_load8_le(mem, 2372bv64) == 108bv8); + free requires (memory_load8_le(mem, 2373bv64) == 32bv8); + free requires (memory_load8_le(mem, 2374bv64) == 118bv8); + free requires (memory_load8_le(mem, 2375bv64) == 97bv8); + free requires (memory_load8_le(mem, 2376bv64) == 114bv8); + free requires (memory_load8_le(mem, 2377bv64) == 105bv8); + free requires (memory_load8_le(mem, 2378bv64) == 97bv8); + free requires (memory_load8_le(mem, 2379bv64) == 98bv8); + free requires (memory_load8_le(mem, 2380bv64) == 108bv8); + free requires (memory_load8_le(mem, 2381bv64) == 101bv8); + free requires (memory_load8_le(mem, 2382bv64) == 32bv8); + free requires (memory_load8_le(mem, 2383bv64) == 105bv8); + free requires (memory_load8_le(mem, 2384bv64) == 115bv8); + free requires (memory_load8_le(mem, 2385bv64) == 58bv8); + free requires (memory_load8_le(mem, 2386bv64) == 32bv8); + free requires (memory_load8_le(mem, 2387bv64) == 37bv8); + free requires (memory_load8_le(mem, 2388bv64) == 100bv8); + free requires (memory_load8_le(mem, 2389bv64) == 10bv8); + free requires (memory_load8_le(mem, 2390bv64) == 0bv8); + free requires (memory_load8_le(mem, 2391bv64) == 84bv8); + free requires (memory_load8_le(mem, 2392bv64) == 104bv8); + free requires (memory_load8_le(mem, 2393bv64) == 101bv8); + free requires (memory_load8_le(mem, 2394bv64) == 32bv8); + free requires (memory_load8_le(mem, 2395bv64) == 99bv8); + free requires (memory_load8_le(mem, 2396bv64) == 104bv8); + free requires (memory_load8_le(mem, 2397bv64) == 97bv8); + free requires (memory_load8_le(mem, 2398bv64) == 114bv8); + free requires (memory_load8_le(mem, 2399bv64) == 32bv8); + free requires (memory_load8_le(mem, 2400bv64) == 118bv8); + free requires (memory_load8_le(mem, 2401bv64) == 97bv8); + free requires (memory_load8_le(mem, 2402bv64) == 108bv8); + free requires (memory_load8_le(mem, 2403bv64) == 117bv8); + free requires (memory_load8_le(mem, 2404bv64) == 101bv8); + free requires (memory_load8_le(mem, 2405bv64) == 32bv8); + free requires (memory_load8_le(mem, 2406bv64) == 105bv8); + free requires (memory_load8_le(mem, 2407bv64) == 115bv8); + free requires (memory_load8_le(mem, 2408bv64) == 58bv8); + free requires (memory_load8_le(mem, 2409bv64) == 32bv8); + free requires (memory_load8_le(mem, 2410bv64) == 37bv8); + free requires (memory_load8_le(mem, 2411bv64) == 99bv8); + free requires (memory_load8_le(mem, 2412bv64) == 10bv8); + free requires (memory_load8_le(mem, 2413bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2407bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2408bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2409bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2410bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2411bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2412bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2413bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure printCharValue() modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_stack, R0, R1, R29, R30, R31, R8, R9, stack; + free requires (memory_load8_le(mem, 2344bv64) == 1bv8); + free requires (memory_load8_le(mem, 2345bv64) == 0bv8); + free requires (memory_load8_le(mem, 2346bv64) == 2bv8); + free requires (memory_load8_le(mem, 2347bv64) == 0bv8); + free requires (memory_load8_le(mem, 2348bv64) == 84bv8); + free requires (memory_load8_le(mem, 2349bv64) == 104bv8); + free requires (memory_load8_le(mem, 2350bv64) == 101bv8); + free requires (memory_load8_le(mem, 2351bv64) == 32bv8); + free requires (memory_load8_le(mem, 2352bv64) == 105bv8); + free requires (memory_load8_le(mem, 2353bv64) == 110bv8); + free requires (memory_load8_le(mem, 2354bv64) == 116bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 105bv8); + free requires (memory_load8_le(mem, 2357bv64) == 115bv8); + free requires (memory_load8_le(mem, 2358bv64) == 58bv8); + free requires (memory_load8_le(mem, 2359bv64) == 32bv8); + free requires (memory_load8_le(mem, 2360bv64) == 37bv8); + free requires (memory_load8_le(mem, 2361bv64) == 100bv8); + free requires (memory_load8_le(mem, 2362bv64) == 10bv8); + free requires (memory_load8_le(mem, 2363bv64) == 0bv8); + free requires (memory_load8_le(mem, 2364bv64) == 84bv8); + free requires (memory_load8_le(mem, 2365bv64) == 104bv8); + free requires (memory_load8_le(mem, 2366bv64) == 101bv8); + free requires (memory_load8_le(mem, 2367bv64) == 32bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 111bv8); + free requires (memory_load8_le(mem, 2370bv64) == 99bv8); + free requires (memory_load8_le(mem, 2371bv64) == 97bv8); + free requires (memory_load8_le(mem, 2372bv64) == 108bv8); + free requires (memory_load8_le(mem, 2373bv64) == 32bv8); + free requires (memory_load8_le(mem, 2374bv64) == 118bv8); + free requires (memory_load8_le(mem, 2375bv64) == 97bv8); + free requires (memory_load8_le(mem, 2376bv64) == 114bv8); + free requires (memory_load8_le(mem, 2377bv64) == 105bv8); + free requires (memory_load8_le(mem, 2378bv64) == 97bv8); + free requires (memory_load8_le(mem, 2379bv64) == 98bv8); + free requires (memory_load8_le(mem, 2380bv64) == 108bv8); + free requires (memory_load8_le(mem, 2381bv64) == 101bv8); + free requires (memory_load8_le(mem, 2382bv64) == 32bv8); + free requires (memory_load8_le(mem, 2383bv64) == 105bv8); + free requires (memory_load8_le(mem, 2384bv64) == 115bv8); + free requires (memory_load8_le(mem, 2385bv64) == 58bv8); + free requires (memory_load8_le(mem, 2386bv64) == 32bv8); + free requires (memory_load8_le(mem, 2387bv64) == 37bv8); + free requires (memory_load8_le(mem, 2388bv64) == 100bv8); + free requires (memory_load8_le(mem, 2389bv64) == 10bv8); + free requires (memory_load8_le(mem, 2390bv64) == 0bv8); + free requires (memory_load8_le(mem, 2391bv64) == 84bv8); + free requires (memory_load8_le(mem, 2392bv64) == 104bv8); + free requires (memory_load8_le(mem, 2393bv64) == 101bv8); + free requires (memory_load8_le(mem, 2394bv64) == 32bv8); + free requires (memory_load8_le(mem, 2395bv64) == 99bv8); + free requires (memory_load8_le(mem, 2396bv64) == 104bv8); + free requires (memory_load8_le(mem, 2397bv64) == 97bv8); + free requires (memory_load8_le(mem, 2398bv64) == 114bv8); + free requires (memory_load8_le(mem, 2399bv64) == 32bv8); + free requires (memory_load8_le(mem, 2400bv64) == 118bv8); + free requires (memory_load8_le(mem, 2401bv64) == 97bv8); + free requires (memory_load8_le(mem, 2402bv64) == 108bv8); + free requires (memory_load8_le(mem, 2403bv64) == 117bv8); + free requires (memory_load8_le(mem, 2404bv64) == 101bv8); + free requires (memory_load8_le(mem, 2405bv64) == 32bv8); + free requires (memory_load8_le(mem, 2406bv64) == 105bv8); + free requires (memory_load8_le(mem, 2407bv64) == 115bv8); + free requires (memory_load8_le(mem, 2408bv64) == 58bv8); + free requires (memory_load8_le(mem, 2409bv64) == 32bv8); + free requires (memory_load8_le(mem, 2410bv64) == 37bv8); + free requires (memory_load8_le(mem, 2411bv64) == 99bv8); + free requires (memory_load8_le(mem, 2412bv64) == 10bv8); + free requires (memory_load8_le(mem, 2413bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2344bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2407bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2408bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2409bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2410bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2411bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2412bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2413bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); { var #5: bv64; var #6: bv64; @@ -378,3 +1177,207 @@ procedure printCharValue() } procedure printf(); + free requires (memory_load8_le(mem, 2344bv64) == 1bv8); + free requires (memory_load8_le(mem, 2345bv64) == 0bv8); + free requires (memory_load8_le(mem, 2346bv64) == 2bv8); + free requires (memory_load8_le(mem, 2347bv64) == 0bv8); + free requires (memory_load8_le(mem, 2348bv64) == 84bv8); + free requires (memory_load8_le(mem, 2349bv64) == 104bv8); + free requires (memory_load8_le(mem, 2350bv64) == 101bv8); + free requires (memory_load8_le(mem, 2351bv64) == 32bv8); + free requires (memory_load8_le(mem, 2352bv64) == 105bv8); + free requires (memory_load8_le(mem, 2353bv64) == 110bv8); + free requires (memory_load8_le(mem, 2354bv64) == 116bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 105bv8); + free requires (memory_load8_le(mem, 2357bv64) == 115bv8); + free requires (memory_load8_le(mem, 2358bv64) == 58bv8); + free requires (memory_load8_le(mem, 2359bv64) == 32bv8); + free requires (memory_load8_le(mem, 2360bv64) == 37bv8); + free requires (memory_load8_le(mem, 2361bv64) == 100bv8); + free requires (memory_load8_le(mem, 2362bv64) == 10bv8); + free requires (memory_load8_le(mem, 2363bv64) == 0bv8); + free requires (memory_load8_le(mem, 2364bv64) == 84bv8); + free requires (memory_load8_le(mem, 2365bv64) == 104bv8); + free requires (memory_load8_le(mem, 2366bv64) == 101bv8); + free requires (memory_load8_le(mem, 2367bv64) == 32bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 111bv8); + free requires (memory_load8_le(mem, 2370bv64) == 99bv8); + free requires (memory_load8_le(mem, 2371bv64) == 97bv8); + free requires (memory_load8_le(mem, 2372bv64) == 108bv8); + free requires (memory_load8_le(mem, 2373bv64) == 32bv8); + free requires (memory_load8_le(mem, 2374bv64) == 118bv8); + free requires (memory_load8_le(mem, 2375bv64) == 97bv8); + free requires (memory_load8_le(mem, 2376bv64) == 114bv8); + free requires (memory_load8_le(mem, 2377bv64) == 105bv8); + free requires (memory_load8_le(mem, 2378bv64) == 97bv8); + free requires (memory_load8_le(mem, 2379bv64) == 98bv8); + free requires (memory_load8_le(mem, 2380bv64) == 108bv8); + free requires (memory_load8_le(mem, 2381bv64) == 101bv8); + free requires (memory_load8_le(mem, 2382bv64) == 32bv8); + free requires (memory_load8_le(mem, 2383bv64) == 105bv8); + free requires (memory_load8_le(mem, 2384bv64) == 115bv8); + free requires (memory_load8_le(mem, 2385bv64) == 58bv8); + free requires (memory_load8_le(mem, 2386bv64) == 32bv8); + free requires (memory_load8_le(mem, 2387bv64) == 37bv8); + free requires (memory_load8_le(mem, 2388bv64) == 100bv8); + free requires (memory_load8_le(mem, 2389bv64) == 10bv8); + free requires (memory_load8_le(mem, 2390bv64) == 0bv8); + free requires (memory_load8_le(mem, 2391bv64) == 84bv8); + free requires (memory_load8_le(mem, 2392bv64) == 104bv8); + free requires (memory_load8_le(mem, 2393bv64) == 101bv8); + free requires (memory_load8_le(mem, 2394bv64) == 32bv8); + free requires (memory_load8_le(mem, 2395bv64) == 99bv8); + free requires (memory_load8_le(mem, 2396bv64) == 104bv8); + free requires (memory_load8_le(mem, 2397bv64) == 97bv8); + free requires (memory_load8_le(mem, 2398bv64) == 114bv8); + free requires (memory_load8_le(mem, 2399bv64) == 32bv8); + free requires (memory_load8_le(mem, 2400bv64) == 118bv8); + free requires (memory_load8_le(mem, 2401bv64) == 97bv8); + free requires (memory_load8_le(mem, 2402bv64) == 108bv8); + free requires (memory_load8_le(mem, 2403bv64) == 117bv8); + free requires (memory_load8_le(mem, 2404bv64) == 101bv8); + free requires (memory_load8_le(mem, 2405bv64) == 32bv8); + free requires (memory_load8_le(mem, 2406bv64) == 105bv8); + free requires (memory_load8_le(mem, 2407bv64) == 115bv8); + free requires (memory_load8_le(mem, 2408bv64) == 58bv8); + free requires (memory_load8_le(mem, 2409bv64) == 32bv8); + free requires (memory_load8_le(mem, 2410bv64) == 37bv8); + free requires (memory_load8_le(mem, 2411bv64) == 99bv8); + free requires (memory_load8_le(mem, 2412bv64) == 10bv8); + free requires (memory_load8_le(mem, 2413bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2407bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2408bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2409bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2410bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2411bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2412bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2413bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); diff --git a/src/test/correct/malloc_with_local3/gcc/malloc_with_local3.expected b/src/test/correct/malloc_with_local3/gcc/malloc_with_local3.expected index b0b38db26..f9388c583 100644 --- a/src/test/correct/malloc_with_local3/gcc/malloc_with_local3.expected +++ b/src/test/correct/malloc_with_local3/gcc/malloc_with_local3.expected @@ -72,9 +72,119 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2328bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -91,9 +201,6 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure #free(); - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 2328bv64) == 1bv8); free requires (memory_load8_le(mem, 2329bv64) == 0bv8); free requires (memory_load8_le(mem, 2330bv64) == 2bv8); @@ -173,118 +280,22 @@ procedure main() free requires (memory_load8_le(mem, 2404bv64) == 99bv8); free requires (memory_load8_le(mem, 2405bv64) == 10bv8); free requires (memory_load8_le(mem, 2406bv64) == 0bv8); - free requires (memory_load8_le(mem, 69504bv64) == 0bv8); - free requires (memory_load8_le(mem, 69505bv64) == 0bv8); - free requires (memory_load8_le(mem, 69506bv64) == 0bv8); - free requires (memory_load8_le(mem, 69507bv64) == 0bv8); - free requires (memory_load8_le(mem, 69508bv64) == 0bv8); - free requires (memory_load8_le(mem, 69509bv64) == 0bv8); - free requires (memory_load8_le(mem, 69510bv64) == 0bv8); - free requires (memory_load8_le(mem, 69511bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 64bv8); - free requires (memory_load8_le(mem, 69529bv64) == 6bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 64bv8); - free requires (memory_load8_le(mem, 69537bv64) == 6bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 64bv8); - free requires (memory_load8_le(mem, 69545bv64) == 6bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 64bv8); - free requires (memory_load8_le(mem, 69553bv64) == 6bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 64bv8); - free requires (memory_load8_le(mem, 69561bv64) == 6bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 64bv8); - free requires (memory_load8_le(mem, 69569bv64) == 6bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 64bv8); - free requires (memory_load8_le(mem, 69577bv64) == 6bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 144bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 8bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -293,14 +304,128 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -317,10 +442,232 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 2328bv64) == 1bv8); + free requires (memory_load8_le(mem, 2329bv64) == 0bv8); + free requires (memory_load8_le(mem, 2330bv64) == 2bv8); + free requires (memory_load8_le(mem, 2331bv64) == 0bv8); + free requires (memory_load8_le(mem, 2332bv64) == 0bv8); + free requires (memory_load8_le(mem, 2333bv64) == 0bv8); + free requires (memory_load8_le(mem, 2334bv64) == 0bv8); + free requires (memory_load8_le(mem, 2335bv64) == 0bv8); + free requires (memory_load8_le(mem, 2336bv64) == 84bv8); + free requires (memory_load8_le(mem, 2337bv64) == 104bv8); + free requires (memory_load8_le(mem, 2338bv64) == 101bv8); + free requires (memory_load8_le(mem, 2339bv64) == 32bv8); + free requires (memory_load8_le(mem, 2340bv64) == 105bv8); + free requires (memory_load8_le(mem, 2341bv64) == 110bv8); + free requires (memory_load8_le(mem, 2342bv64) == 116bv8); + free requires (memory_load8_le(mem, 2343bv64) == 32bv8); + free requires (memory_load8_le(mem, 2344bv64) == 105bv8); + free requires (memory_load8_le(mem, 2345bv64) == 115bv8); + free requires (memory_load8_le(mem, 2346bv64) == 58bv8); + free requires (memory_load8_le(mem, 2347bv64) == 32bv8); + free requires (memory_load8_le(mem, 2348bv64) == 37bv8); + free requires (memory_load8_le(mem, 2349bv64) == 100bv8); + free requires (memory_load8_le(mem, 2350bv64) == 10bv8); + free requires (memory_load8_le(mem, 2351bv64) == 0bv8); + free requires (memory_load8_le(mem, 2352bv64) == 84bv8); + free requires (memory_load8_le(mem, 2353bv64) == 104bv8); + free requires (memory_load8_le(mem, 2354bv64) == 101bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 108bv8); + free requires (memory_load8_le(mem, 2357bv64) == 111bv8); + free requires (memory_load8_le(mem, 2358bv64) == 99bv8); + free requires (memory_load8_le(mem, 2359bv64) == 97bv8); + free requires (memory_load8_le(mem, 2360bv64) == 108bv8); + free requires (memory_load8_le(mem, 2361bv64) == 32bv8); + free requires (memory_load8_le(mem, 2362bv64) == 118bv8); + free requires (memory_load8_le(mem, 2363bv64) == 97bv8); + free requires (memory_load8_le(mem, 2364bv64) == 114bv8); + free requires (memory_load8_le(mem, 2365bv64) == 105bv8); + free requires (memory_load8_le(mem, 2366bv64) == 97bv8); + free requires (memory_load8_le(mem, 2367bv64) == 98bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 101bv8); + free requires (memory_load8_le(mem, 2370bv64) == 32bv8); + free requires (memory_load8_le(mem, 2371bv64) == 105bv8); + free requires (memory_load8_le(mem, 2372bv64) == 115bv8); + free requires (memory_load8_le(mem, 2373bv64) == 58bv8); + free requires (memory_load8_le(mem, 2374bv64) == 32bv8); + free requires (memory_load8_le(mem, 2375bv64) == 37bv8); + free requires (memory_load8_le(mem, 2376bv64) == 100bv8); + free requires (memory_load8_le(mem, 2377bv64) == 10bv8); + free requires (memory_load8_le(mem, 2378bv64) == 0bv8); + free requires (memory_load8_le(mem, 2379bv64) == 0bv8); + free requires (memory_load8_le(mem, 2380bv64) == 0bv8); + free requires (memory_load8_le(mem, 2381bv64) == 0bv8); + free requires (memory_load8_le(mem, 2382bv64) == 0bv8); + free requires (memory_load8_le(mem, 2383bv64) == 0bv8); + free requires (memory_load8_le(mem, 2384bv64) == 84bv8); + free requires (memory_load8_le(mem, 2385bv64) == 104bv8); + free requires (memory_load8_le(mem, 2386bv64) == 101bv8); + free requires (memory_load8_le(mem, 2387bv64) == 32bv8); + free requires (memory_load8_le(mem, 2388bv64) == 99bv8); + free requires (memory_load8_le(mem, 2389bv64) == 104bv8); + free requires (memory_load8_le(mem, 2390bv64) == 97bv8); + free requires (memory_load8_le(mem, 2391bv64) == 114bv8); + free requires (memory_load8_le(mem, 2392bv64) == 32bv8); + free requires (memory_load8_le(mem, 2393bv64) == 118bv8); + free requires (memory_load8_le(mem, 2394bv64) == 97bv8); + free requires (memory_load8_le(mem, 2395bv64) == 108bv8); + free requires (memory_load8_le(mem, 2396bv64) == 117bv8); + free requires (memory_load8_le(mem, 2397bv64) == 101bv8); + free requires (memory_load8_le(mem, 2398bv64) == 32bv8); + free requires (memory_load8_le(mem, 2399bv64) == 105bv8); + free requires (memory_load8_le(mem, 2400bv64) == 115bv8); + free requires (memory_load8_le(mem, 2401bv64) == 58bv8); + free requires (memory_load8_le(mem, 2402bv64) == 32bv8); + free requires (memory_load8_le(mem, 2403bv64) == 37bv8); + free requires (memory_load8_le(mem, 2404bv64) == 99bv8); + free requires (memory_load8_le(mem, 2405bv64) == 10bv8); + free requires (memory_load8_le(mem, 2406bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2328bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -415,13 +762,457 @@ procedure main() } procedure malloc(); + free requires (memory_load8_le(mem, 2328bv64) == 1bv8); + free requires (memory_load8_le(mem, 2329bv64) == 0bv8); + free requires (memory_load8_le(mem, 2330bv64) == 2bv8); + free requires (memory_load8_le(mem, 2331bv64) == 0bv8); + free requires (memory_load8_le(mem, 2332bv64) == 0bv8); + free requires (memory_load8_le(mem, 2333bv64) == 0bv8); + free requires (memory_load8_le(mem, 2334bv64) == 0bv8); + free requires (memory_load8_le(mem, 2335bv64) == 0bv8); + free requires (memory_load8_le(mem, 2336bv64) == 84bv8); + free requires (memory_load8_le(mem, 2337bv64) == 104bv8); + free requires (memory_load8_le(mem, 2338bv64) == 101bv8); + free requires (memory_load8_le(mem, 2339bv64) == 32bv8); + free requires (memory_load8_le(mem, 2340bv64) == 105bv8); + free requires (memory_load8_le(mem, 2341bv64) == 110bv8); + free requires (memory_load8_le(mem, 2342bv64) == 116bv8); + free requires (memory_load8_le(mem, 2343bv64) == 32bv8); + free requires (memory_load8_le(mem, 2344bv64) == 105bv8); + free requires (memory_load8_le(mem, 2345bv64) == 115bv8); + free requires (memory_load8_le(mem, 2346bv64) == 58bv8); + free requires (memory_load8_le(mem, 2347bv64) == 32bv8); + free requires (memory_load8_le(mem, 2348bv64) == 37bv8); + free requires (memory_load8_le(mem, 2349bv64) == 100bv8); + free requires (memory_load8_le(mem, 2350bv64) == 10bv8); + free requires (memory_load8_le(mem, 2351bv64) == 0bv8); + free requires (memory_load8_le(mem, 2352bv64) == 84bv8); + free requires (memory_load8_le(mem, 2353bv64) == 104bv8); + free requires (memory_load8_le(mem, 2354bv64) == 101bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 108bv8); + free requires (memory_load8_le(mem, 2357bv64) == 111bv8); + free requires (memory_load8_le(mem, 2358bv64) == 99bv8); + free requires (memory_load8_le(mem, 2359bv64) == 97bv8); + free requires (memory_load8_le(mem, 2360bv64) == 108bv8); + free requires (memory_load8_le(mem, 2361bv64) == 32bv8); + free requires (memory_load8_le(mem, 2362bv64) == 118bv8); + free requires (memory_load8_le(mem, 2363bv64) == 97bv8); + free requires (memory_load8_le(mem, 2364bv64) == 114bv8); + free requires (memory_load8_le(mem, 2365bv64) == 105bv8); + free requires (memory_load8_le(mem, 2366bv64) == 97bv8); + free requires (memory_load8_le(mem, 2367bv64) == 98bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 101bv8); + free requires (memory_load8_le(mem, 2370bv64) == 32bv8); + free requires (memory_load8_le(mem, 2371bv64) == 105bv8); + free requires (memory_load8_le(mem, 2372bv64) == 115bv8); + free requires (memory_load8_le(mem, 2373bv64) == 58bv8); + free requires (memory_load8_le(mem, 2374bv64) == 32bv8); + free requires (memory_load8_le(mem, 2375bv64) == 37bv8); + free requires (memory_load8_le(mem, 2376bv64) == 100bv8); + free requires (memory_load8_le(mem, 2377bv64) == 10bv8); + free requires (memory_load8_le(mem, 2378bv64) == 0bv8); + free requires (memory_load8_le(mem, 2379bv64) == 0bv8); + free requires (memory_load8_le(mem, 2380bv64) == 0bv8); + free requires (memory_load8_le(mem, 2381bv64) == 0bv8); + free requires (memory_load8_le(mem, 2382bv64) == 0bv8); + free requires (memory_load8_le(mem, 2383bv64) == 0bv8); + free requires (memory_load8_le(mem, 2384bv64) == 84bv8); + free requires (memory_load8_le(mem, 2385bv64) == 104bv8); + free requires (memory_load8_le(mem, 2386bv64) == 101bv8); + free requires (memory_load8_le(mem, 2387bv64) == 32bv8); + free requires (memory_load8_le(mem, 2388bv64) == 99bv8); + free requires (memory_load8_le(mem, 2389bv64) == 104bv8); + free requires (memory_load8_le(mem, 2390bv64) == 97bv8); + free requires (memory_load8_le(mem, 2391bv64) == 114bv8); + free requires (memory_load8_le(mem, 2392bv64) == 32bv8); + free requires (memory_load8_le(mem, 2393bv64) == 118bv8); + free requires (memory_load8_le(mem, 2394bv64) == 97bv8); + free requires (memory_load8_le(mem, 2395bv64) == 108bv8); + free requires (memory_load8_le(mem, 2396bv64) == 117bv8); + free requires (memory_load8_le(mem, 2397bv64) == 101bv8); + free requires (memory_load8_le(mem, 2398bv64) == 32bv8); + free requires (memory_load8_le(mem, 2399bv64) == 105bv8); + free requires (memory_load8_le(mem, 2400bv64) == 115bv8); + free requires (memory_load8_le(mem, 2401bv64) == 58bv8); + free requires (memory_load8_le(mem, 2402bv64) == 32bv8); + free requires (memory_load8_le(mem, 2403bv64) == 37bv8); + free requires (memory_load8_le(mem, 2404bv64) == 99bv8); + free requires (memory_load8_le(mem, 2405bv64) == 10bv8); + free requires (memory_load8_le(mem, 2406bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure printCharValue() modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R1, R29, R30, R31, stack; + free requires (memory_load8_le(mem, 2328bv64) == 1bv8); + free requires (memory_load8_le(mem, 2329bv64) == 0bv8); + free requires (memory_load8_le(mem, 2330bv64) == 2bv8); + free requires (memory_load8_le(mem, 2331bv64) == 0bv8); + free requires (memory_load8_le(mem, 2332bv64) == 0bv8); + free requires (memory_load8_le(mem, 2333bv64) == 0bv8); + free requires (memory_load8_le(mem, 2334bv64) == 0bv8); + free requires (memory_load8_le(mem, 2335bv64) == 0bv8); + free requires (memory_load8_le(mem, 2336bv64) == 84bv8); + free requires (memory_load8_le(mem, 2337bv64) == 104bv8); + free requires (memory_load8_le(mem, 2338bv64) == 101bv8); + free requires (memory_load8_le(mem, 2339bv64) == 32bv8); + free requires (memory_load8_le(mem, 2340bv64) == 105bv8); + free requires (memory_load8_le(mem, 2341bv64) == 110bv8); + free requires (memory_load8_le(mem, 2342bv64) == 116bv8); + free requires (memory_load8_le(mem, 2343bv64) == 32bv8); + free requires (memory_load8_le(mem, 2344bv64) == 105bv8); + free requires (memory_load8_le(mem, 2345bv64) == 115bv8); + free requires (memory_load8_le(mem, 2346bv64) == 58bv8); + free requires (memory_load8_le(mem, 2347bv64) == 32bv8); + free requires (memory_load8_le(mem, 2348bv64) == 37bv8); + free requires (memory_load8_le(mem, 2349bv64) == 100bv8); + free requires (memory_load8_le(mem, 2350bv64) == 10bv8); + free requires (memory_load8_le(mem, 2351bv64) == 0bv8); + free requires (memory_load8_le(mem, 2352bv64) == 84bv8); + free requires (memory_load8_le(mem, 2353bv64) == 104bv8); + free requires (memory_load8_le(mem, 2354bv64) == 101bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 108bv8); + free requires (memory_load8_le(mem, 2357bv64) == 111bv8); + free requires (memory_load8_le(mem, 2358bv64) == 99bv8); + free requires (memory_load8_le(mem, 2359bv64) == 97bv8); + free requires (memory_load8_le(mem, 2360bv64) == 108bv8); + free requires (memory_load8_le(mem, 2361bv64) == 32bv8); + free requires (memory_load8_le(mem, 2362bv64) == 118bv8); + free requires (memory_load8_le(mem, 2363bv64) == 97bv8); + free requires (memory_load8_le(mem, 2364bv64) == 114bv8); + free requires (memory_load8_le(mem, 2365bv64) == 105bv8); + free requires (memory_load8_le(mem, 2366bv64) == 97bv8); + free requires (memory_load8_le(mem, 2367bv64) == 98bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 101bv8); + free requires (memory_load8_le(mem, 2370bv64) == 32bv8); + free requires (memory_load8_le(mem, 2371bv64) == 105bv8); + free requires (memory_load8_le(mem, 2372bv64) == 115bv8); + free requires (memory_load8_le(mem, 2373bv64) == 58bv8); + free requires (memory_load8_le(mem, 2374bv64) == 32bv8); + free requires (memory_load8_le(mem, 2375bv64) == 37bv8); + free requires (memory_load8_le(mem, 2376bv64) == 100bv8); + free requires (memory_load8_le(mem, 2377bv64) == 10bv8); + free requires (memory_load8_le(mem, 2378bv64) == 0bv8); + free requires (memory_load8_le(mem, 2379bv64) == 0bv8); + free requires (memory_load8_le(mem, 2380bv64) == 0bv8); + free requires (memory_load8_le(mem, 2381bv64) == 0bv8); + free requires (memory_load8_le(mem, 2382bv64) == 0bv8); + free requires (memory_load8_le(mem, 2383bv64) == 0bv8); + free requires (memory_load8_le(mem, 2384bv64) == 84bv8); + free requires (memory_load8_le(mem, 2385bv64) == 104bv8); + free requires (memory_load8_le(mem, 2386bv64) == 101bv8); + free requires (memory_load8_le(mem, 2387bv64) == 32bv8); + free requires (memory_load8_le(mem, 2388bv64) == 99bv8); + free requires (memory_load8_le(mem, 2389bv64) == 104bv8); + free requires (memory_load8_le(mem, 2390bv64) == 97bv8); + free requires (memory_load8_le(mem, 2391bv64) == 114bv8); + free requires (memory_load8_le(mem, 2392bv64) == 32bv8); + free requires (memory_load8_le(mem, 2393bv64) == 118bv8); + free requires (memory_load8_le(mem, 2394bv64) == 97bv8); + free requires (memory_load8_le(mem, 2395bv64) == 108bv8); + free requires (memory_load8_le(mem, 2396bv64) == 117bv8); + free requires (memory_load8_le(mem, 2397bv64) == 101bv8); + free requires (memory_load8_le(mem, 2398bv64) == 32bv8); + free requires (memory_load8_le(mem, 2399bv64) == 105bv8); + free requires (memory_load8_le(mem, 2400bv64) == 115bv8); + free requires (memory_load8_le(mem, 2401bv64) == 58bv8); + free requires (memory_load8_le(mem, 2402bv64) == 32bv8); + free requires (memory_load8_le(mem, 2403bv64) == 37bv8); + free requires (memory_load8_le(mem, 2404bv64) == 99bv8); + free requires (memory_load8_le(mem, 2405bv64) == 10bv8); + free requires (memory_load8_le(mem, 2406bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2328bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #5: bv64; var Gamma_#5: bool; @@ -454,3 +1245,225 @@ procedure printCharValue() } procedure printf(); + free requires (memory_load8_le(mem, 2328bv64) == 1bv8); + free requires (memory_load8_le(mem, 2329bv64) == 0bv8); + free requires (memory_load8_le(mem, 2330bv64) == 2bv8); + free requires (memory_load8_le(mem, 2331bv64) == 0bv8); + free requires (memory_load8_le(mem, 2332bv64) == 0bv8); + free requires (memory_load8_le(mem, 2333bv64) == 0bv8); + free requires (memory_load8_le(mem, 2334bv64) == 0bv8); + free requires (memory_load8_le(mem, 2335bv64) == 0bv8); + free requires (memory_load8_le(mem, 2336bv64) == 84bv8); + free requires (memory_load8_le(mem, 2337bv64) == 104bv8); + free requires (memory_load8_le(mem, 2338bv64) == 101bv8); + free requires (memory_load8_le(mem, 2339bv64) == 32bv8); + free requires (memory_load8_le(mem, 2340bv64) == 105bv8); + free requires (memory_load8_le(mem, 2341bv64) == 110bv8); + free requires (memory_load8_le(mem, 2342bv64) == 116bv8); + free requires (memory_load8_le(mem, 2343bv64) == 32bv8); + free requires (memory_load8_le(mem, 2344bv64) == 105bv8); + free requires (memory_load8_le(mem, 2345bv64) == 115bv8); + free requires (memory_load8_le(mem, 2346bv64) == 58bv8); + free requires (memory_load8_le(mem, 2347bv64) == 32bv8); + free requires (memory_load8_le(mem, 2348bv64) == 37bv8); + free requires (memory_load8_le(mem, 2349bv64) == 100bv8); + free requires (memory_load8_le(mem, 2350bv64) == 10bv8); + free requires (memory_load8_le(mem, 2351bv64) == 0bv8); + free requires (memory_load8_le(mem, 2352bv64) == 84bv8); + free requires (memory_load8_le(mem, 2353bv64) == 104bv8); + free requires (memory_load8_le(mem, 2354bv64) == 101bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 108bv8); + free requires (memory_load8_le(mem, 2357bv64) == 111bv8); + free requires (memory_load8_le(mem, 2358bv64) == 99bv8); + free requires (memory_load8_le(mem, 2359bv64) == 97bv8); + free requires (memory_load8_le(mem, 2360bv64) == 108bv8); + free requires (memory_load8_le(mem, 2361bv64) == 32bv8); + free requires (memory_load8_le(mem, 2362bv64) == 118bv8); + free requires (memory_load8_le(mem, 2363bv64) == 97bv8); + free requires (memory_load8_le(mem, 2364bv64) == 114bv8); + free requires (memory_load8_le(mem, 2365bv64) == 105bv8); + free requires (memory_load8_le(mem, 2366bv64) == 97bv8); + free requires (memory_load8_le(mem, 2367bv64) == 98bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 101bv8); + free requires (memory_load8_le(mem, 2370bv64) == 32bv8); + free requires (memory_load8_le(mem, 2371bv64) == 105bv8); + free requires (memory_load8_le(mem, 2372bv64) == 115bv8); + free requires (memory_load8_le(mem, 2373bv64) == 58bv8); + free requires (memory_load8_le(mem, 2374bv64) == 32bv8); + free requires (memory_load8_le(mem, 2375bv64) == 37bv8); + free requires (memory_load8_le(mem, 2376bv64) == 100bv8); + free requires (memory_load8_le(mem, 2377bv64) == 10bv8); + free requires (memory_load8_le(mem, 2378bv64) == 0bv8); + free requires (memory_load8_le(mem, 2379bv64) == 0bv8); + free requires (memory_load8_le(mem, 2380bv64) == 0bv8); + free requires (memory_load8_le(mem, 2381bv64) == 0bv8); + free requires (memory_load8_le(mem, 2382bv64) == 0bv8); + free requires (memory_load8_le(mem, 2383bv64) == 0bv8); + free requires (memory_load8_le(mem, 2384bv64) == 84bv8); + free requires (memory_load8_le(mem, 2385bv64) == 104bv8); + free requires (memory_load8_le(mem, 2386bv64) == 101bv8); + free requires (memory_load8_le(mem, 2387bv64) == 32bv8); + free requires (memory_load8_le(mem, 2388bv64) == 99bv8); + free requires (memory_load8_le(mem, 2389bv64) == 104bv8); + free requires (memory_load8_le(mem, 2390bv64) == 97bv8); + free requires (memory_load8_le(mem, 2391bv64) == 114bv8); + free requires (memory_load8_le(mem, 2392bv64) == 32bv8); + free requires (memory_load8_le(mem, 2393bv64) == 118bv8); + free requires (memory_load8_le(mem, 2394bv64) == 97bv8); + free requires (memory_load8_le(mem, 2395bv64) == 108bv8); + free requires (memory_load8_le(mem, 2396bv64) == 117bv8); + free requires (memory_load8_le(mem, 2397bv64) == 101bv8); + free requires (memory_load8_le(mem, 2398bv64) == 32bv8); + free requires (memory_load8_le(mem, 2399bv64) == 105bv8); + free requires (memory_load8_le(mem, 2400bv64) == 115bv8); + free requires (memory_load8_le(mem, 2401bv64) == 58bv8); + free requires (memory_load8_le(mem, 2402bv64) == 32bv8); + free requires (memory_load8_le(mem, 2403bv64) == 37bv8); + free requires (memory_load8_le(mem, 2404bv64) == 99bv8); + free requires (memory_load8_le(mem, 2405bv64) == 10bv8); + free requires (memory_load8_le(mem, 2406bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); diff --git a/src/test/correct/malloc_with_local3/gcc_O2/malloc_with_local3.expected b/src/test/correct/malloc_with_local3/gcc_O2/malloc_with_local3.expected index 4f29a0319..dd86a9361 100644 --- a/src/test/correct/malloc_with_local3/gcc_O2/malloc_with_local3.expected +++ b/src/test/correct/malloc_with_local3/gcc_O2/malloc_with_local3.expected @@ -62,9 +62,115 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2264bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 144bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -81,11 +187,222 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure __printf_chk(); + free requires (memory_load8_le(mem, 2264bv64) == 1bv8); + free requires (memory_load8_le(mem, 2265bv64) == 0bv8); + free requires (memory_load8_le(mem, 2266bv64) == 2bv8); + free requires (memory_load8_le(mem, 2267bv64) == 0bv8); + free requires (memory_load8_le(mem, 2268bv64) == 0bv8); + free requires (memory_load8_le(mem, 2269bv64) == 0bv8); + free requires (memory_load8_le(mem, 2270bv64) == 0bv8); + free requires (memory_load8_le(mem, 2271bv64) == 0bv8); + free requires (memory_load8_le(mem, 2272bv64) == 84bv8); + free requires (memory_load8_le(mem, 2273bv64) == 104bv8); + free requires (memory_load8_le(mem, 2274bv64) == 101bv8); + free requires (memory_load8_le(mem, 2275bv64) == 32bv8); + free requires (memory_load8_le(mem, 2276bv64) == 99bv8); + free requires (memory_load8_le(mem, 2277bv64) == 104bv8); + free requires (memory_load8_le(mem, 2278bv64) == 97bv8); + free requires (memory_load8_le(mem, 2279bv64) == 114bv8); + free requires (memory_load8_le(mem, 2280bv64) == 32bv8); + free requires (memory_load8_le(mem, 2281bv64) == 118bv8); + free requires (memory_load8_le(mem, 2282bv64) == 97bv8); + free requires (memory_load8_le(mem, 2283bv64) == 108bv8); + free requires (memory_load8_le(mem, 2284bv64) == 117bv8); + free requires (memory_load8_le(mem, 2285bv64) == 101bv8); + free requires (memory_load8_le(mem, 2286bv64) == 32bv8); + free requires (memory_load8_le(mem, 2287bv64) == 105bv8); + free requires (memory_load8_le(mem, 2288bv64) == 115bv8); + free requires (memory_load8_le(mem, 2289bv64) == 58bv8); + free requires (memory_load8_le(mem, 2290bv64) == 32bv8); + free requires (memory_load8_le(mem, 2291bv64) == 37bv8); + free requires (memory_load8_le(mem, 2292bv64) == 99bv8); + free requires (memory_load8_le(mem, 2293bv64) == 10bv8); + free requires (memory_load8_le(mem, 2294bv64) == 0bv8); + free requires (memory_load8_le(mem, 2295bv64) == 0bv8); + free requires (memory_load8_le(mem, 2296bv64) == 84bv8); + free requires (memory_load8_le(mem, 2297bv64) == 104bv8); + free requires (memory_load8_le(mem, 2298bv64) == 101bv8); + free requires (memory_load8_le(mem, 2299bv64) == 32bv8); + free requires (memory_load8_le(mem, 2300bv64) == 105bv8); + free requires (memory_load8_le(mem, 2301bv64) == 110bv8); + free requires (memory_load8_le(mem, 2302bv64) == 116bv8); + free requires (memory_load8_le(mem, 2303bv64) == 32bv8); + free requires (memory_load8_le(mem, 2304bv64) == 105bv8); + free requires (memory_load8_le(mem, 2305bv64) == 115bv8); + free requires (memory_load8_le(mem, 2306bv64) == 58bv8); + free requires (memory_load8_le(mem, 2307bv64) == 32bv8); + free requires (memory_load8_le(mem, 2308bv64) == 37bv8); + free requires (memory_load8_le(mem, 2309bv64) == 100bv8); + free requires (memory_load8_le(mem, 2310bv64) == 10bv8); + free requires (memory_load8_le(mem, 2311bv64) == 0bv8); + free requires (memory_load8_le(mem, 2312bv64) == 84bv8); + free requires (memory_load8_le(mem, 2313bv64) == 104bv8); + free requires (memory_load8_le(mem, 2314bv64) == 101bv8); + free requires (memory_load8_le(mem, 2315bv64) == 32bv8); + free requires (memory_load8_le(mem, 2316bv64) == 108bv8); + free requires (memory_load8_le(mem, 2317bv64) == 111bv8); + free requires (memory_load8_le(mem, 2318bv64) == 99bv8); + free requires (memory_load8_le(mem, 2319bv64) == 97bv8); + free requires (memory_load8_le(mem, 2320bv64) == 108bv8); + free requires (memory_load8_le(mem, 2321bv64) == 32bv8); + free requires (memory_load8_le(mem, 2322bv64) == 118bv8); + free requires (memory_load8_le(mem, 2323bv64) == 97bv8); + free requires (memory_load8_le(mem, 2324bv64) == 114bv8); + free requires (memory_load8_le(mem, 2325bv64) == 105bv8); + free requires (memory_load8_le(mem, 2326bv64) == 97bv8); + free requires (memory_load8_le(mem, 2327bv64) == 98bv8); + free requires (memory_load8_le(mem, 2328bv64) == 108bv8); + free requires (memory_load8_le(mem, 2329bv64) == 101bv8); + free requires (memory_load8_le(mem, 2330bv64) == 32bv8); + free requires (memory_load8_le(mem, 2331bv64) == 105bv8); + free requires (memory_load8_le(mem, 2332bv64) == 115bv8); + free requires (memory_load8_le(mem, 2333bv64) == 58bv8); + free requires (memory_load8_le(mem, 2334bv64) == 32bv8); + free requires (memory_load8_le(mem, 2335bv64) == 37bv8); + free requires (memory_load8_le(mem, 2336bv64) == 100bv8); + free requires (memory_load8_le(mem, 2337bv64) == 10bv8); + free requires (memory_load8_le(mem, 2338bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 144bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 64bv8); + free requires (memory_load8_le(mem, 69001bv64) == 8bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 0bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 144bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure #free(); - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R19, Gamma_R2, Gamma_R29, Gamma_R3, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R19, R2, R29, R3, R30, R31, mem, stack; free requires (memory_load8_le(mem, 2264bv64) == 1bv8); free requires (memory_load8_le(mem, 2265bv64) == 0bv8); free requires (memory_load8_le(mem, 2266bv64) == 2bv8); @@ -161,118 +478,22 @@ procedure main() free requires (memory_load8_le(mem, 2336bv64) == 100bv8); free requires (memory_load8_le(mem, 2337bv64) == 10bv8); free requires (memory_load8_le(mem, 2338bv64) == 0bv8); - free requires (memory_load8_le(mem, 69504bv64) == 0bv8); - free requires (memory_load8_le(mem, 69505bv64) == 0bv8); - free requires (memory_load8_le(mem, 69506bv64) == 0bv8); - free requires (memory_load8_le(mem, 69507bv64) == 0bv8); - free requires (memory_load8_le(mem, 69508bv64) == 0bv8); - free requires (memory_load8_le(mem, 69509bv64) == 0bv8); - free requires (memory_load8_le(mem, 69510bv64) == 0bv8); - free requires (memory_load8_le(mem, 69511bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 80bv8); - free requires (memory_load8_le(mem, 69529bv64) == 6bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 80bv8); - free requires (memory_load8_le(mem, 69537bv64) == 6bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 80bv8); - free requires (memory_load8_le(mem, 69545bv64) == 6bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 80bv8); - free requires (memory_load8_le(mem, 69553bv64) == 6bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 80bv8); - free requires (memory_load8_le(mem, 69561bv64) == 6bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 80bv8); - free requires (memory_load8_le(mem, 69569bv64) == 6bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 80bv8); - free requires (memory_load8_le(mem, 69577bv64) == 6bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 144bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 144bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 64bv8); + free requires (memory_load8_le(mem, 69001bv64) == 8bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 0bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -281,14 +502,124 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 144bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R19, Gamma_R2, Gamma_R29, Gamma_R3, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R19, R2, R29, R3, R30, R31, mem, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -305,12 +636,226 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 2264bv64) == 1bv8); + free requires (memory_load8_le(mem, 2265bv64) == 0bv8); + free requires (memory_load8_le(mem, 2266bv64) == 2bv8); + free requires (memory_load8_le(mem, 2267bv64) == 0bv8); + free requires (memory_load8_le(mem, 2268bv64) == 0bv8); + free requires (memory_load8_le(mem, 2269bv64) == 0bv8); + free requires (memory_load8_le(mem, 2270bv64) == 0bv8); + free requires (memory_load8_le(mem, 2271bv64) == 0bv8); + free requires (memory_load8_le(mem, 2272bv64) == 84bv8); + free requires (memory_load8_le(mem, 2273bv64) == 104bv8); + free requires (memory_load8_le(mem, 2274bv64) == 101bv8); + free requires (memory_load8_le(mem, 2275bv64) == 32bv8); + free requires (memory_load8_le(mem, 2276bv64) == 99bv8); + free requires (memory_load8_le(mem, 2277bv64) == 104bv8); + free requires (memory_load8_le(mem, 2278bv64) == 97bv8); + free requires (memory_load8_le(mem, 2279bv64) == 114bv8); + free requires (memory_load8_le(mem, 2280bv64) == 32bv8); + free requires (memory_load8_le(mem, 2281bv64) == 118bv8); + free requires (memory_load8_le(mem, 2282bv64) == 97bv8); + free requires (memory_load8_le(mem, 2283bv64) == 108bv8); + free requires (memory_load8_le(mem, 2284bv64) == 117bv8); + free requires (memory_load8_le(mem, 2285bv64) == 101bv8); + free requires (memory_load8_le(mem, 2286bv64) == 32bv8); + free requires (memory_load8_le(mem, 2287bv64) == 105bv8); + free requires (memory_load8_le(mem, 2288bv64) == 115bv8); + free requires (memory_load8_le(mem, 2289bv64) == 58bv8); + free requires (memory_load8_le(mem, 2290bv64) == 32bv8); + free requires (memory_load8_le(mem, 2291bv64) == 37bv8); + free requires (memory_load8_le(mem, 2292bv64) == 99bv8); + free requires (memory_load8_le(mem, 2293bv64) == 10bv8); + free requires (memory_load8_le(mem, 2294bv64) == 0bv8); + free requires (memory_load8_le(mem, 2295bv64) == 0bv8); + free requires (memory_load8_le(mem, 2296bv64) == 84bv8); + free requires (memory_load8_le(mem, 2297bv64) == 104bv8); + free requires (memory_load8_le(mem, 2298bv64) == 101bv8); + free requires (memory_load8_le(mem, 2299bv64) == 32bv8); + free requires (memory_load8_le(mem, 2300bv64) == 105bv8); + free requires (memory_load8_le(mem, 2301bv64) == 110bv8); + free requires (memory_load8_le(mem, 2302bv64) == 116bv8); + free requires (memory_load8_le(mem, 2303bv64) == 32bv8); + free requires (memory_load8_le(mem, 2304bv64) == 105bv8); + free requires (memory_load8_le(mem, 2305bv64) == 115bv8); + free requires (memory_load8_le(mem, 2306bv64) == 58bv8); + free requires (memory_load8_le(mem, 2307bv64) == 32bv8); + free requires (memory_load8_le(mem, 2308bv64) == 37bv8); + free requires (memory_load8_le(mem, 2309bv64) == 100bv8); + free requires (memory_load8_le(mem, 2310bv64) == 10bv8); + free requires (memory_load8_le(mem, 2311bv64) == 0bv8); + free requires (memory_load8_le(mem, 2312bv64) == 84bv8); + free requires (memory_load8_le(mem, 2313bv64) == 104bv8); + free requires (memory_load8_le(mem, 2314bv64) == 101bv8); + free requires (memory_load8_le(mem, 2315bv64) == 32bv8); + free requires (memory_load8_le(mem, 2316bv64) == 108bv8); + free requires (memory_load8_le(mem, 2317bv64) == 111bv8); + free requires (memory_load8_le(mem, 2318bv64) == 99bv8); + free requires (memory_load8_le(mem, 2319bv64) == 97bv8); + free requires (memory_load8_le(mem, 2320bv64) == 108bv8); + free requires (memory_load8_le(mem, 2321bv64) == 32bv8); + free requires (memory_load8_le(mem, 2322bv64) == 118bv8); + free requires (memory_load8_le(mem, 2323bv64) == 97bv8); + free requires (memory_load8_le(mem, 2324bv64) == 114bv8); + free requires (memory_load8_le(mem, 2325bv64) == 105bv8); + free requires (memory_load8_le(mem, 2326bv64) == 97bv8); + free requires (memory_load8_le(mem, 2327bv64) == 98bv8); + free requires (memory_load8_le(mem, 2328bv64) == 108bv8); + free requires (memory_load8_le(mem, 2329bv64) == 101bv8); + free requires (memory_load8_le(mem, 2330bv64) == 32bv8); + free requires (memory_load8_le(mem, 2331bv64) == 105bv8); + free requires (memory_load8_le(mem, 2332bv64) == 115bv8); + free requires (memory_load8_le(mem, 2333bv64) == 58bv8); + free requires (memory_load8_le(mem, 2334bv64) == 32bv8); + free requires (memory_load8_le(mem, 2335bv64) == 37bv8); + free requires (memory_load8_le(mem, 2336bv64) == 100bv8); + free requires (memory_load8_le(mem, 2337bv64) == 10bv8); + free requires (memory_load8_le(mem, 2338bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 144bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 64bv8); + free requires (memory_load8_le(mem, 69001bv64) == 8bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 0bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R19 == old(Gamma_R19)); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R19 == old(R19)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2264bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 144bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #1: bv64; var Gamma_#1: bool; @@ -365,9 +910,437 @@ procedure main() } procedure malloc(); + free requires (memory_load8_le(mem, 2264bv64) == 1bv8); + free requires (memory_load8_le(mem, 2265bv64) == 0bv8); + free requires (memory_load8_le(mem, 2266bv64) == 2bv8); + free requires (memory_load8_le(mem, 2267bv64) == 0bv8); + free requires (memory_load8_le(mem, 2268bv64) == 0bv8); + free requires (memory_load8_le(mem, 2269bv64) == 0bv8); + free requires (memory_load8_le(mem, 2270bv64) == 0bv8); + free requires (memory_load8_le(mem, 2271bv64) == 0bv8); + free requires (memory_load8_le(mem, 2272bv64) == 84bv8); + free requires (memory_load8_le(mem, 2273bv64) == 104bv8); + free requires (memory_load8_le(mem, 2274bv64) == 101bv8); + free requires (memory_load8_le(mem, 2275bv64) == 32bv8); + free requires (memory_load8_le(mem, 2276bv64) == 99bv8); + free requires (memory_load8_le(mem, 2277bv64) == 104bv8); + free requires (memory_load8_le(mem, 2278bv64) == 97bv8); + free requires (memory_load8_le(mem, 2279bv64) == 114bv8); + free requires (memory_load8_le(mem, 2280bv64) == 32bv8); + free requires (memory_load8_le(mem, 2281bv64) == 118bv8); + free requires (memory_load8_le(mem, 2282bv64) == 97bv8); + free requires (memory_load8_le(mem, 2283bv64) == 108bv8); + free requires (memory_load8_le(mem, 2284bv64) == 117bv8); + free requires (memory_load8_le(mem, 2285bv64) == 101bv8); + free requires (memory_load8_le(mem, 2286bv64) == 32bv8); + free requires (memory_load8_le(mem, 2287bv64) == 105bv8); + free requires (memory_load8_le(mem, 2288bv64) == 115bv8); + free requires (memory_load8_le(mem, 2289bv64) == 58bv8); + free requires (memory_load8_le(mem, 2290bv64) == 32bv8); + free requires (memory_load8_le(mem, 2291bv64) == 37bv8); + free requires (memory_load8_le(mem, 2292bv64) == 99bv8); + free requires (memory_load8_le(mem, 2293bv64) == 10bv8); + free requires (memory_load8_le(mem, 2294bv64) == 0bv8); + free requires (memory_load8_le(mem, 2295bv64) == 0bv8); + free requires (memory_load8_le(mem, 2296bv64) == 84bv8); + free requires (memory_load8_le(mem, 2297bv64) == 104bv8); + free requires (memory_load8_le(mem, 2298bv64) == 101bv8); + free requires (memory_load8_le(mem, 2299bv64) == 32bv8); + free requires (memory_load8_le(mem, 2300bv64) == 105bv8); + free requires (memory_load8_le(mem, 2301bv64) == 110bv8); + free requires (memory_load8_le(mem, 2302bv64) == 116bv8); + free requires (memory_load8_le(mem, 2303bv64) == 32bv8); + free requires (memory_load8_le(mem, 2304bv64) == 105bv8); + free requires (memory_load8_le(mem, 2305bv64) == 115bv8); + free requires (memory_load8_le(mem, 2306bv64) == 58bv8); + free requires (memory_load8_le(mem, 2307bv64) == 32bv8); + free requires (memory_load8_le(mem, 2308bv64) == 37bv8); + free requires (memory_load8_le(mem, 2309bv64) == 100bv8); + free requires (memory_load8_le(mem, 2310bv64) == 10bv8); + free requires (memory_load8_le(mem, 2311bv64) == 0bv8); + free requires (memory_load8_le(mem, 2312bv64) == 84bv8); + free requires (memory_load8_le(mem, 2313bv64) == 104bv8); + free requires (memory_load8_le(mem, 2314bv64) == 101bv8); + free requires (memory_load8_le(mem, 2315bv64) == 32bv8); + free requires (memory_load8_le(mem, 2316bv64) == 108bv8); + free requires (memory_load8_le(mem, 2317bv64) == 111bv8); + free requires (memory_load8_le(mem, 2318bv64) == 99bv8); + free requires (memory_load8_le(mem, 2319bv64) == 97bv8); + free requires (memory_load8_le(mem, 2320bv64) == 108bv8); + free requires (memory_load8_le(mem, 2321bv64) == 32bv8); + free requires (memory_load8_le(mem, 2322bv64) == 118bv8); + free requires (memory_load8_le(mem, 2323bv64) == 97bv8); + free requires (memory_load8_le(mem, 2324bv64) == 114bv8); + free requires (memory_load8_le(mem, 2325bv64) == 105bv8); + free requires (memory_load8_le(mem, 2326bv64) == 97bv8); + free requires (memory_load8_le(mem, 2327bv64) == 98bv8); + free requires (memory_load8_le(mem, 2328bv64) == 108bv8); + free requires (memory_load8_le(mem, 2329bv64) == 101bv8); + free requires (memory_load8_le(mem, 2330bv64) == 32bv8); + free requires (memory_load8_le(mem, 2331bv64) == 105bv8); + free requires (memory_load8_le(mem, 2332bv64) == 115bv8); + free requires (memory_load8_le(mem, 2333bv64) == 58bv8); + free requires (memory_load8_le(mem, 2334bv64) == 32bv8); + free requires (memory_load8_le(mem, 2335bv64) == 37bv8); + free requires (memory_load8_le(mem, 2336bv64) == 100bv8); + free requires (memory_load8_le(mem, 2337bv64) == 10bv8); + free requires (memory_load8_le(mem, 2338bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 144bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 64bv8); + free requires (memory_load8_le(mem, 69001bv64) == 8bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 0bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 144bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure printCharValue() modifies Gamma_R0, Gamma_R1, Gamma_R2, Gamma_R3, Gamma_mem, R0, R1, R2, R3, mem; + free requires (memory_load8_le(mem, 2264bv64) == 1bv8); + free requires (memory_load8_le(mem, 2265bv64) == 0bv8); + free requires (memory_load8_le(mem, 2266bv64) == 2bv8); + free requires (memory_load8_le(mem, 2267bv64) == 0bv8); + free requires (memory_load8_le(mem, 2268bv64) == 0bv8); + free requires (memory_load8_le(mem, 2269bv64) == 0bv8); + free requires (memory_load8_le(mem, 2270bv64) == 0bv8); + free requires (memory_load8_le(mem, 2271bv64) == 0bv8); + free requires (memory_load8_le(mem, 2272bv64) == 84bv8); + free requires (memory_load8_le(mem, 2273bv64) == 104bv8); + free requires (memory_load8_le(mem, 2274bv64) == 101bv8); + free requires (memory_load8_le(mem, 2275bv64) == 32bv8); + free requires (memory_load8_le(mem, 2276bv64) == 99bv8); + free requires (memory_load8_le(mem, 2277bv64) == 104bv8); + free requires (memory_load8_le(mem, 2278bv64) == 97bv8); + free requires (memory_load8_le(mem, 2279bv64) == 114bv8); + free requires (memory_load8_le(mem, 2280bv64) == 32bv8); + free requires (memory_load8_le(mem, 2281bv64) == 118bv8); + free requires (memory_load8_le(mem, 2282bv64) == 97bv8); + free requires (memory_load8_le(mem, 2283bv64) == 108bv8); + free requires (memory_load8_le(mem, 2284bv64) == 117bv8); + free requires (memory_load8_le(mem, 2285bv64) == 101bv8); + free requires (memory_load8_le(mem, 2286bv64) == 32bv8); + free requires (memory_load8_le(mem, 2287bv64) == 105bv8); + free requires (memory_load8_le(mem, 2288bv64) == 115bv8); + free requires (memory_load8_le(mem, 2289bv64) == 58bv8); + free requires (memory_load8_le(mem, 2290bv64) == 32bv8); + free requires (memory_load8_le(mem, 2291bv64) == 37bv8); + free requires (memory_load8_le(mem, 2292bv64) == 99bv8); + free requires (memory_load8_le(mem, 2293bv64) == 10bv8); + free requires (memory_load8_le(mem, 2294bv64) == 0bv8); + free requires (memory_load8_le(mem, 2295bv64) == 0bv8); + free requires (memory_load8_le(mem, 2296bv64) == 84bv8); + free requires (memory_load8_le(mem, 2297bv64) == 104bv8); + free requires (memory_load8_le(mem, 2298bv64) == 101bv8); + free requires (memory_load8_le(mem, 2299bv64) == 32bv8); + free requires (memory_load8_le(mem, 2300bv64) == 105bv8); + free requires (memory_load8_le(mem, 2301bv64) == 110bv8); + free requires (memory_load8_le(mem, 2302bv64) == 116bv8); + free requires (memory_load8_le(mem, 2303bv64) == 32bv8); + free requires (memory_load8_le(mem, 2304bv64) == 105bv8); + free requires (memory_load8_le(mem, 2305bv64) == 115bv8); + free requires (memory_load8_le(mem, 2306bv64) == 58bv8); + free requires (memory_load8_le(mem, 2307bv64) == 32bv8); + free requires (memory_load8_le(mem, 2308bv64) == 37bv8); + free requires (memory_load8_le(mem, 2309bv64) == 100bv8); + free requires (memory_load8_le(mem, 2310bv64) == 10bv8); + free requires (memory_load8_le(mem, 2311bv64) == 0bv8); + free requires (memory_load8_le(mem, 2312bv64) == 84bv8); + free requires (memory_load8_le(mem, 2313bv64) == 104bv8); + free requires (memory_load8_le(mem, 2314bv64) == 101bv8); + free requires (memory_load8_le(mem, 2315bv64) == 32bv8); + free requires (memory_load8_le(mem, 2316bv64) == 108bv8); + free requires (memory_load8_le(mem, 2317bv64) == 111bv8); + free requires (memory_load8_le(mem, 2318bv64) == 99bv8); + free requires (memory_load8_le(mem, 2319bv64) == 97bv8); + free requires (memory_load8_le(mem, 2320bv64) == 108bv8); + free requires (memory_load8_le(mem, 2321bv64) == 32bv8); + free requires (memory_load8_le(mem, 2322bv64) == 118bv8); + free requires (memory_load8_le(mem, 2323bv64) == 97bv8); + free requires (memory_load8_le(mem, 2324bv64) == 114bv8); + free requires (memory_load8_le(mem, 2325bv64) == 105bv8); + free requires (memory_load8_le(mem, 2326bv64) == 97bv8); + free requires (memory_load8_le(mem, 2327bv64) == 98bv8); + free requires (memory_load8_le(mem, 2328bv64) == 108bv8); + free requires (memory_load8_le(mem, 2329bv64) == 101bv8); + free requires (memory_load8_le(mem, 2330bv64) == 32bv8); + free requires (memory_load8_le(mem, 2331bv64) == 105bv8); + free requires (memory_load8_le(mem, 2332bv64) == 115bv8); + free requires (memory_load8_le(mem, 2333bv64) == 58bv8); + free requires (memory_load8_le(mem, 2334bv64) == 32bv8); + free requires (memory_load8_le(mem, 2335bv64) == 37bv8); + free requires (memory_load8_le(mem, 2336bv64) == 100bv8); + free requires (memory_load8_le(mem, 2337bv64) == 10bv8); + free requires (memory_load8_le(mem, 2338bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 144bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 64bv8); + free requires (memory_load8_le(mem, 69001bv64) == 8bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 0bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 144bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lprintCharValue: R3, Gamma_R3 := R0, Gamma_R0; diff --git a/src/test/correct/malloc_with_local3/gcc_no_plt_no_pic/malloc_with_local3.expected b/src/test/correct/malloc_with_local3/gcc_no_plt_no_pic/malloc_with_local3.expected index dddba4301..13fc9bcc2 100644 --- a/src/test/correct/malloc_with_local3/gcc_no_plt_no_pic/malloc_with_local3.expected +++ b/src/test/correct/malloc_with_local3/gcc_no_plt_no_pic/malloc_with_local3.expected @@ -72,9 +72,119 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2328bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -91,9 +201,6 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure #free(); - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 2328bv64) == 1bv8); free requires (memory_load8_le(mem, 2329bv64) == 0bv8); free requires (memory_load8_le(mem, 2330bv64) == 2bv8); @@ -173,118 +280,22 @@ procedure main() free requires (memory_load8_le(mem, 2404bv64) == 99bv8); free requires (memory_load8_le(mem, 2405bv64) == 10bv8); free requires (memory_load8_le(mem, 2406bv64) == 0bv8); - free requires (memory_load8_le(mem, 69504bv64) == 0bv8); - free requires (memory_load8_le(mem, 69505bv64) == 0bv8); - free requires (memory_load8_le(mem, 69506bv64) == 0bv8); - free requires (memory_load8_le(mem, 69507bv64) == 0bv8); - free requires (memory_load8_le(mem, 69508bv64) == 0bv8); - free requires (memory_load8_le(mem, 69509bv64) == 0bv8); - free requires (memory_load8_le(mem, 69510bv64) == 0bv8); - free requires (memory_load8_le(mem, 69511bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 64bv8); - free requires (memory_load8_le(mem, 69529bv64) == 6bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 64bv8); - free requires (memory_load8_le(mem, 69537bv64) == 6bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 64bv8); - free requires (memory_load8_le(mem, 69545bv64) == 6bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 64bv8); - free requires (memory_load8_le(mem, 69553bv64) == 6bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 64bv8); - free requires (memory_load8_le(mem, 69561bv64) == 6bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 64bv8); - free requires (memory_load8_le(mem, 69569bv64) == 6bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 64bv8); - free requires (memory_load8_le(mem, 69577bv64) == 6bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 144bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 8bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -293,14 +304,128 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -317,10 +442,232 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 2328bv64) == 1bv8); + free requires (memory_load8_le(mem, 2329bv64) == 0bv8); + free requires (memory_load8_le(mem, 2330bv64) == 2bv8); + free requires (memory_load8_le(mem, 2331bv64) == 0bv8); + free requires (memory_load8_le(mem, 2332bv64) == 0bv8); + free requires (memory_load8_le(mem, 2333bv64) == 0bv8); + free requires (memory_load8_le(mem, 2334bv64) == 0bv8); + free requires (memory_load8_le(mem, 2335bv64) == 0bv8); + free requires (memory_load8_le(mem, 2336bv64) == 84bv8); + free requires (memory_load8_le(mem, 2337bv64) == 104bv8); + free requires (memory_load8_le(mem, 2338bv64) == 101bv8); + free requires (memory_load8_le(mem, 2339bv64) == 32bv8); + free requires (memory_load8_le(mem, 2340bv64) == 105bv8); + free requires (memory_load8_le(mem, 2341bv64) == 110bv8); + free requires (memory_load8_le(mem, 2342bv64) == 116bv8); + free requires (memory_load8_le(mem, 2343bv64) == 32bv8); + free requires (memory_load8_le(mem, 2344bv64) == 105bv8); + free requires (memory_load8_le(mem, 2345bv64) == 115bv8); + free requires (memory_load8_le(mem, 2346bv64) == 58bv8); + free requires (memory_load8_le(mem, 2347bv64) == 32bv8); + free requires (memory_load8_le(mem, 2348bv64) == 37bv8); + free requires (memory_load8_le(mem, 2349bv64) == 100bv8); + free requires (memory_load8_le(mem, 2350bv64) == 10bv8); + free requires (memory_load8_le(mem, 2351bv64) == 0bv8); + free requires (memory_load8_le(mem, 2352bv64) == 84bv8); + free requires (memory_load8_le(mem, 2353bv64) == 104bv8); + free requires (memory_load8_le(mem, 2354bv64) == 101bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 108bv8); + free requires (memory_load8_le(mem, 2357bv64) == 111bv8); + free requires (memory_load8_le(mem, 2358bv64) == 99bv8); + free requires (memory_load8_le(mem, 2359bv64) == 97bv8); + free requires (memory_load8_le(mem, 2360bv64) == 108bv8); + free requires (memory_load8_le(mem, 2361bv64) == 32bv8); + free requires (memory_load8_le(mem, 2362bv64) == 118bv8); + free requires (memory_load8_le(mem, 2363bv64) == 97bv8); + free requires (memory_load8_le(mem, 2364bv64) == 114bv8); + free requires (memory_load8_le(mem, 2365bv64) == 105bv8); + free requires (memory_load8_le(mem, 2366bv64) == 97bv8); + free requires (memory_load8_le(mem, 2367bv64) == 98bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 101bv8); + free requires (memory_load8_le(mem, 2370bv64) == 32bv8); + free requires (memory_load8_le(mem, 2371bv64) == 105bv8); + free requires (memory_load8_le(mem, 2372bv64) == 115bv8); + free requires (memory_load8_le(mem, 2373bv64) == 58bv8); + free requires (memory_load8_le(mem, 2374bv64) == 32bv8); + free requires (memory_load8_le(mem, 2375bv64) == 37bv8); + free requires (memory_load8_le(mem, 2376bv64) == 100bv8); + free requires (memory_load8_le(mem, 2377bv64) == 10bv8); + free requires (memory_load8_le(mem, 2378bv64) == 0bv8); + free requires (memory_load8_le(mem, 2379bv64) == 0bv8); + free requires (memory_load8_le(mem, 2380bv64) == 0bv8); + free requires (memory_load8_le(mem, 2381bv64) == 0bv8); + free requires (memory_load8_le(mem, 2382bv64) == 0bv8); + free requires (memory_load8_le(mem, 2383bv64) == 0bv8); + free requires (memory_load8_le(mem, 2384bv64) == 84bv8); + free requires (memory_load8_le(mem, 2385bv64) == 104bv8); + free requires (memory_load8_le(mem, 2386bv64) == 101bv8); + free requires (memory_load8_le(mem, 2387bv64) == 32bv8); + free requires (memory_load8_le(mem, 2388bv64) == 99bv8); + free requires (memory_load8_le(mem, 2389bv64) == 104bv8); + free requires (memory_load8_le(mem, 2390bv64) == 97bv8); + free requires (memory_load8_le(mem, 2391bv64) == 114bv8); + free requires (memory_load8_le(mem, 2392bv64) == 32bv8); + free requires (memory_load8_le(mem, 2393bv64) == 118bv8); + free requires (memory_load8_le(mem, 2394bv64) == 97bv8); + free requires (memory_load8_le(mem, 2395bv64) == 108bv8); + free requires (memory_load8_le(mem, 2396bv64) == 117bv8); + free requires (memory_load8_le(mem, 2397bv64) == 101bv8); + free requires (memory_load8_le(mem, 2398bv64) == 32bv8); + free requires (memory_load8_le(mem, 2399bv64) == 105bv8); + free requires (memory_load8_le(mem, 2400bv64) == 115bv8); + free requires (memory_load8_le(mem, 2401bv64) == 58bv8); + free requires (memory_load8_le(mem, 2402bv64) == 32bv8); + free requires (memory_load8_le(mem, 2403bv64) == 37bv8); + free requires (memory_load8_le(mem, 2404bv64) == 99bv8); + free requires (memory_load8_le(mem, 2405bv64) == 10bv8); + free requires (memory_load8_le(mem, 2406bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2328bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -415,13 +762,457 @@ procedure main() } procedure malloc(); + free requires (memory_load8_le(mem, 2328bv64) == 1bv8); + free requires (memory_load8_le(mem, 2329bv64) == 0bv8); + free requires (memory_load8_le(mem, 2330bv64) == 2bv8); + free requires (memory_load8_le(mem, 2331bv64) == 0bv8); + free requires (memory_load8_le(mem, 2332bv64) == 0bv8); + free requires (memory_load8_le(mem, 2333bv64) == 0bv8); + free requires (memory_load8_le(mem, 2334bv64) == 0bv8); + free requires (memory_load8_le(mem, 2335bv64) == 0bv8); + free requires (memory_load8_le(mem, 2336bv64) == 84bv8); + free requires (memory_load8_le(mem, 2337bv64) == 104bv8); + free requires (memory_load8_le(mem, 2338bv64) == 101bv8); + free requires (memory_load8_le(mem, 2339bv64) == 32bv8); + free requires (memory_load8_le(mem, 2340bv64) == 105bv8); + free requires (memory_load8_le(mem, 2341bv64) == 110bv8); + free requires (memory_load8_le(mem, 2342bv64) == 116bv8); + free requires (memory_load8_le(mem, 2343bv64) == 32bv8); + free requires (memory_load8_le(mem, 2344bv64) == 105bv8); + free requires (memory_load8_le(mem, 2345bv64) == 115bv8); + free requires (memory_load8_le(mem, 2346bv64) == 58bv8); + free requires (memory_load8_le(mem, 2347bv64) == 32bv8); + free requires (memory_load8_le(mem, 2348bv64) == 37bv8); + free requires (memory_load8_le(mem, 2349bv64) == 100bv8); + free requires (memory_load8_le(mem, 2350bv64) == 10bv8); + free requires (memory_load8_le(mem, 2351bv64) == 0bv8); + free requires (memory_load8_le(mem, 2352bv64) == 84bv8); + free requires (memory_load8_le(mem, 2353bv64) == 104bv8); + free requires (memory_load8_le(mem, 2354bv64) == 101bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 108bv8); + free requires (memory_load8_le(mem, 2357bv64) == 111bv8); + free requires (memory_load8_le(mem, 2358bv64) == 99bv8); + free requires (memory_load8_le(mem, 2359bv64) == 97bv8); + free requires (memory_load8_le(mem, 2360bv64) == 108bv8); + free requires (memory_load8_le(mem, 2361bv64) == 32bv8); + free requires (memory_load8_le(mem, 2362bv64) == 118bv8); + free requires (memory_load8_le(mem, 2363bv64) == 97bv8); + free requires (memory_load8_le(mem, 2364bv64) == 114bv8); + free requires (memory_load8_le(mem, 2365bv64) == 105bv8); + free requires (memory_load8_le(mem, 2366bv64) == 97bv8); + free requires (memory_load8_le(mem, 2367bv64) == 98bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 101bv8); + free requires (memory_load8_le(mem, 2370bv64) == 32bv8); + free requires (memory_load8_le(mem, 2371bv64) == 105bv8); + free requires (memory_load8_le(mem, 2372bv64) == 115bv8); + free requires (memory_load8_le(mem, 2373bv64) == 58bv8); + free requires (memory_load8_le(mem, 2374bv64) == 32bv8); + free requires (memory_load8_le(mem, 2375bv64) == 37bv8); + free requires (memory_load8_le(mem, 2376bv64) == 100bv8); + free requires (memory_load8_le(mem, 2377bv64) == 10bv8); + free requires (memory_load8_le(mem, 2378bv64) == 0bv8); + free requires (memory_load8_le(mem, 2379bv64) == 0bv8); + free requires (memory_load8_le(mem, 2380bv64) == 0bv8); + free requires (memory_load8_le(mem, 2381bv64) == 0bv8); + free requires (memory_load8_le(mem, 2382bv64) == 0bv8); + free requires (memory_load8_le(mem, 2383bv64) == 0bv8); + free requires (memory_load8_le(mem, 2384bv64) == 84bv8); + free requires (memory_load8_le(mem, 2385bv64) == 104bv8); + free requires (memory_load8_le(mem, 2386bv64) == 101bv8); + free requires (memory_load8_le(mem, 2387bv64) == 32bv8); + free requires (memory_load8_le(mem, 2388bv64) == 99bv8); + free requires (memory_load8_le(mem, 2389bv64) == 104bv8); + free requires (memory_load8_le(mem, 2390bv64) == 97bv8); + free requires (memory_load8_le(mem, 2391bv64) == 114bv8); + free requires (memory_load8_le(mem, 2392bv64) == 32bv8); + free requires (memory_load8_le(mem, 2393bv64) == 118bv8); + free requires (memory_load8_le(mem, 2394bv64) == 97bv8); + free requires (memory_load8_le(mem, 2395bv64) == 108bv8); + free requires (memory_load8_le(mem, 2396bv64) == 117bv8); + free requires (memory_load8_le(mem, 2397bv64) == 101bv8); + free requires (memory_load8_le(mem, 2398bv64) == 32bv8); + free requires (memory_load8_le(mem, 2399bv64) == 105bv8); + free requires (memory_load8_le(mem, 2400bv64) == 115bv8); + free requires (memory_load8_le(mem, 2401bv64) == 58bv8); + free requires (memory_load8_le(mem, 2402bv64) == 32bv8); + free requires (memory_load8_le(mem, 2403bv64) == 37bv8); + free requires (memory_load8_le(mem, 2404bv64) == 99bv8); + free requires (memory_load8_le(mem, 2405bv64) == 10bv8); + free requires (memory_load8_le(mem, 2406bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure printCharValue() modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R1, R29, R30, R31, stack; + free requires (memory_load8_le(mem, 2328bv64) == 1bv8); + free requires (memory_load8_le(mem, 2329bv64) == 0bv8); + free requires (memory_load8_le(mem, 2330bv64) == 2bv8); + free requires (memory_load8_le(mem, 2331bv64) == 0bv8); + free requires (memory_load8_le(mem, 2332bv64) == 0bv8); + free requires (memory_load8_le(mem, 2333bv64) == 0bv8); + free requires (memory_load8_le(mem, 2334bv64) == 0bv8); + free requires (memory_load8_le(mem, 2335bv64) == 0bv8); + free requires (memory_load8_le(mem, 2336bv64) == 84bv8); + free requires (memory_load8_le(mem, 2337bv64) == 104bv8); + free requires (memory_load8_le(mem, 2338bv64) == 101bv8); + free requires (memory_load8_le(mem, 2339bv64) == 32bv8); + free requires (memory_load8_le(mem, 2340bv64) == 105bv8); + free requires (memory_load8_le(mem, 2341bv64) == 110bv8); + free requires (memory_load8_le(mem, 2342bv64) == 116bv8); + free requires (memory_load8_le(mem, 2343bv64) == 32bv8); + free requires (memory_load8_le(mem, 2344bv64) == 105bv8); + free requires (memory_load8_le(mem, 2345bv64) == 115bv8); + free requires (memory_load8_le(mem, 2346bv64) == 58bv8); + free requires (memory_load8_le(mem, 2347bv64) == 32bv8); + free requires (memory_load8_le(mem, 2348bv64) == 37bv8); + free requires (memory_load8_le(mem, 2349bv64) == 100bv8); + free requires (memory_load8_le(mem, 2350bv64) == 10bv8); + free requires (memory_load8_le(mem, 2351bv64) == 0bv8); + free requires (memory_load8_le(mem, 2352bv64) == 84bv8); + free requires (memory_load8_le(mem, 2353bv64) == 104bv8); + free requires (memory_load8_le(mem, 2354bv64) == 101bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 108bv8); + free requires (memory_load8_le(mem, 2357bv64) == 111bv8); + free requires (memory_load8_le(mem, 2358bv64) == 99bv8); + free requires (memory_load8_le(mem, 2359bv64) == 97bv8); + free requires (memory_load8_le(mem, 2360bv64) == 108bv8); + free requires (memory_load8_le(mem, 2361bv64) == 32bv8); + free requires (memory_load8_le(mem, 2362bv64) == 118bv8); + free requires (memory_load8_le(mem, 2363bv64) == 97bv8); + free requires (memory_load8_le(mem, 2364bv64) == 114bv8); + free requires (memory_load8_le(mem, 2365bv64) == 105bv8); + free requires (memory_load8_le(mem, 2366bv64) == 97bv8); + free requires (memory_load8_le(mem, 2367bv64) == 98bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 101bv8); + free requires (memory_load8_le(mem, 2370bv64) == 32bv8); + free requires (memory_load8_le(mem, 2371bv64) == 105bv8); + free requires (memory_load8_le(mem, 2372bv64) == 115bv8); + free requires (memory_load8_le(mem, 2373bv64) == 58bv8); + free requires (memory_load8_le(mem, 2374bv64) == 32bv8); + free requires (memory_load8_le(mem, 2375bv64) == 37bv8); + free requires (memory_load8_le(mem, 2376bv64) == 100bv8); + free requires (memory_load8_le(mem, 2377bv64) == 10bv8); + free requires (memory_load8_le(mem, 2378bv64) == 0bv8); + free requires (memory_load8_le(mem, 2379bv64) == 0bv8); + free requires (memory_load8_le(mem, 2380bv64) == 0bv8); + free requires (memory_load8_le(mem, 2381bv64) == 0bv8); + free requires (memory_load8_le(mem, 2382bv64) == 0bv8); + free requires (memory_load8_le(mem, 2383bv64) == 0bv8); + free requires (memory_load8_le(mem, 2384bv64) == 84bv8); + free requires (memory_load8_le(mem, 2385bv64) == 104bv8); + free requires (memory_load8_le(mem, 2386bv64) == 101bv8); + free requires (memory_load8_le(mem, 2387bv64) == 32bv8); + free requires (memory_load8_le(mem, 2388bv64) == 99bv8); + free requires (memory_load8_le(mem, 2389bv64) == 104bv8); + free requires (memory_load8_le(mem, 2390bv64) == 97bv8); + free requires (memory_load8_le(mem, 2391bv64) == 114bv8); + free requires (memory_load8_le(mem, 2392bv64) == 32bv8); + free requires (memory_load8_le(mem, 2393bv64) == 118bv8); + free requires (memory_load8_le(mem, 2394bv64) == 97bv8); + free requires (memory_load8_le(mem, 2395bv64) == 108bv8); + free requires (memory_load8_le(mem, 2396bv64) == 117bv8); + free requires (memory_load8_le(mem, 2397bv64) == 101bv8); + free requires (memory_load8_le(mem, 2398bv64) == 32bv8); + free requires (memory_load8_le(mem, 2399bv64) == 105bv8); + free requires (memory_load8_le(mem, 2400bv64) == 115bv8); + free requires (memory_load8_le(mem, 2401bv64) == 58bv8); + free requires (memory_load8_le(mem, 2402bv64) == 32bv8); + free requires (memory_load8_le(mem, 2403bv64) == 37bv8); + free requires (memory_load8_le(mem, 2404bv64) == 99bv8); + free requires (memory_load8_le(mem, 2405bv64) == 10bv8); + free requires (memory_load8_le(mem, 2406bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2328bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #5: bv64; var Gamma_#5: bool; @@ -454,3 +1245,225 @@ procedure printCharValue() } procedure printf(); + free requires (memory_load8_le(mem, 2328bv64) == 1bv8); + free requires (memory_load8_le(mem, 2329bv64) == 0bv8); + free requires (memory_load8_le(mem, 2330bv64) == 2bv8); + free requires (memory_load8_le(mem, 2331bv64) == 0bv8); + free requires (memory_load8_le(mem, 2332bv64) == 0bv8); + free requires (memory_load8_le(mem, 2333bv64) == 0bv8); + free requires (memory_load8_le(mem, 2334bv64) == 0bv8); + free requires (memory_load8_le(mem, 2335bv64) == 0bv8); + free requires (memory_load8_le(mem, 2336bv64) == 84bv8); + free requires (memory_load8_le(mem, 2337bv64) == 104bv8); + free requires (memory_load8_le(mem, 2338bv64) == 101bv8); + free requires (memory_load8_le(mem, 2339bv64) == 32bv8); + free requires (memory_load8_le(mem, 2340bv64) == 105bv8); + free requires (memory_load8_le(mem, 2341bv64) == 110bv8); + free requires (memory_load8_le(mem, 2342bv64) == 116bv8); + free requires (memory_load8_le(mem, 2343bv64) == 32bv8); + free requires (memory_load8_le(mem, 2344bv64) == 105bv8); + free requires (memory_load8_le(mem, 2345bv64) == 115bv8); + free requires (memory_load8_le(mem, 2346bv64) == 58bv8); + free requires (memory_load8_le(mem, 2347bv64) == 32bv8); + free requires (memory_load8_le(mem, 2348bv64) == 37bv8); + free requires (memory_load8_le(mem, 2349bv64) == 100bv8); + free requires (memory_load8_le(mem, 2350bv64) == 10bv8); + free requires (memory_load8_le(mem, 2351bv64) == 0bv8); + free requires (memory_load8_le(mem, 2352bv64) == 84bv8); + free requires (memory_load8_le(mem, 2353bv64) == 104bv8); + free requires (memory_load8_le(mem, 2354bv64) == 101bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 108bv8); + free requires (memory_load8_le(mem, 2357bv64) == 111bv8); + free requires (memory_load8_le(mem, 2358bv64) == 99bv8); + free requires (memory_load8_le(mem, 2359bv64) == 97bv8); + free requires (memory_load8_le(mem, 2360bv64) == 108bv8); + free requires (memory_load8_le(mem, 2361bv64) == 32bv8); + free requires (memory_load8_le(mem, 2362bv64) == 118bv8); + free requires (memory_load8_le(mem, 2363bv64) == 97bv8); + free requires (memory_load8_le(mem, 2364bv64) == 114bv8); + free requires (memory_load8_le(mem, 2365bv64) == 105bv8); + free requires (memory_load8_le(mem, 2366bv64) == 97bv8); + free requires (memory_load8_le(mem, 2367bv64) == 98bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 101bv8); + free requires (memory_load8_le(mem, 2370bv64) == 32bv8); + free requires (memory_load8_le(mem, 2371bv64) == 105bv8); + free requires (memory_load8_le(mem, 2372bv64) == 115bv8); + free requires (memory_load8_le(mem, 2373bv64) == 58bv8); + free requires (memory_load8_le(mem, 2374bv64) == 32bv8); + free requires (memory_load8_le(mem, 2375bv64) == 37bv8); + free requires (memory_load8_le(mem, 2376bv64) == 100bv8); + free requires (memory_load8_le(mem, 2377bv64) == 10bv8); + free requires (memory_load8_le(mem, 2378bv64) == 0bv8); + free requires (memory_load8_le(mem, 2379bv64) == 0bv8); + free requires (memory_load8_le(mem, 2380bv64) == 0bv8); + free requires (memory_load8_le(mem, 2381bv64) == 0bv8); + free requires (memory_load8_le(mem, 2382bv64) == 0bv8); + free requires (memory_load8_le(mem, 2383bv64) == 0bv8); + free requires (memory_load8_le(mem, 2384bv64) == 84bv8); + free requires (memory_load8_le(mem, 2385bv64) == 104bv8); + free requires (memory_load8_le(mem, 2386bv64) == 101bv8); + free requires (memory_load8_le(mem, 2387bv64) == 32bv8); + free requires (memory_load8_le(mem, 2388bv64) == 99bv8); + free requires (memory_load8_le(mem, 2389bv64) == 104bv8); + free requires (memory_load8_le(mem, 2390bv64) == 97bv8); + free requires (memory_load8_le(mem, 2391bv64) == 114bv8); + free requires (memory_load8_le(mem, 2392bv64) == 32bv8); + free requires (memory_load8_le(mem, 2393bv64) == 118bv8); + free requires (memory_load8_le(mem, 2394bv64) == 97bv8); + free requires (memory_load8_le(mem, 2395bv64) == 108bv8); + free requires (memory_load8_le(mem, 2396bv64) == 117bv8); + free requires (memory_load8_le(mem, 2397bv64) == 101bv8); + free requires (memory_load8_le(mem, 2398bv64) == 32bv8); + free requires (memory_load8_le(mem, 2399bv64) == 105bv8); + free requires (memory_load8_le(mem, 2400bv64) == 115bv8); + free requires (memory_load8_le(mem, 2401bv64) == 58bv8); + free requires (memory_load8_le(mem, 2402bv64) == 32bv8); + free requires (memory_load8_le(mem, 2403bv64) == 37bv8); + free requires (memory_load8_le(mem, 2404bv64) == 99bv8); + free requires (memory_load8_le(mem, 2405bv64) == 10bv8); + free requires (memory_load8_le(mem, 2406bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); diff --git a/src/test/correct/malloc_with_local3/gcc_pic/malloc_with_local3.expected b/src/test/correct/malloc_with_local3/gcc_pic/malloc_with_local3.expected index dddba4301..13fc9bcc2 100644 --- a/src/test/correct/malloc_with_local3/gcc_pic/malloc_with_local3.expected +++ b/src/test/correct/malloc_with_local3/gcc_pic/malloc_with_local3.expected @@ -72,9 +72,119 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2328bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -91,9 +201,6 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure #free(); - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 2328bv64) == 1bv8); free requires (memory_load8_le(mem, 2329bv64) == 0bv8); free requires (memory_load8_le(mem, 2330bv64) == 2bv8); @@ -173,118 +280,22 @@ procedure main() free requires (memory_load8_le(mem, 2404bv64) == 99bv8); free requires (memory_load8_le(mem, 2405bv64) == 10bv8); free requires (memory_load8_le(mem, 2406bv64) == 0bv8); - free requires (memory_load8_le(mem, 69504bv64) == 0bv8); - free requires (memory_load8_le(mem, 69505bv64) == 0bv8); - free requires (memory_load8_le(mem, 69506bv64) == 0bv8); - free requires (memory_load8_le(mem, 69507bv64) == 0bv8); - free requires (memory_load8_le(mem, 69508bv64) == 0bv8); - free requires (memory_load8_le(mem, 69509bv64) == 0bv8); - free requires (memory_load8_le(mem, 69510bv64) == 0bv8); - free requires (memory_load8_le(mem, 69511bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 64bv8); - free requires (memory_load8_le(mem, 69529bv64) == 6bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 64bv8); - free requires (memory_load8_le(mem, 69537bv64) == 6bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 64bv8); - free requires (memory_load8_le(mem, 69545bv64) == 6bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 64bv8); - free requires (memory_load8_le(mem, 69553bv64) == 6bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 64bv8); - free requires (memory_load8_le(mem, 69561bv64) == 6bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 64bv8); - free requires (memory_load8_le(mem, 69569bv64) == 6bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 64bv8); - free requires (memory_load8_le(mem, 69577bv64) == 6bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 144bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 8bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -293,14 +304,128 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -317,10 +442,232 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 2328bv64) == 1bv8); + free requires (memory_load8_le(mem, 2329bv64) == 0bv8); + free requires (memory_load8_le(mem, 2330bv64) == 2bv8); + free requires (memory_load8_le(mem, 2331bv64) == 0bv8); + free requires (memory_load8_le(mem, 2332bv64) == 0bv8); + free requires (memory_load8_le(mem, 2333bv64) == 0bv8); + free requires (memory_load8_le(mem, 2334bv64) == 0bv8); + free requires (memory_load8_le(mem, 2335bv64) == 0bv8); + free requires (memory_load8_le(mem, 2336bv64) == 84bv8); + free requires (memory_load8_le(mem, 2337bv64) == 104bv8); + free requires (memory_load8_le(mem, 2338bv64) == 101bv8); + free requires (memory_load8_le(mem, 2339bv64) == 32bv8); + free requires (memory_load8_le(mem, 2340bv64) == 105bv8); + free requires (memory_load8_le(mem, 2341bv64) == 110bv8); + free requires (memory_load8_le(mem, 2342bv64) == 116bv8); + free requires (memory_load8_le(mem, 2343bv64) == 32bv8); + free requires (memory_load8_le(mem, 2344bv64) == 105bv8); + free requires (memory_load8_le(mem, 2345bv64) == 115bv8); + free requires (memory_load8_le(mem, 2346bv64) == 58bv8); + free requires (memory_load8_le(mem, 2347bv64) == 32bv8); + free requires (memory_load8_le(mem, 2348bv64) == 37bv8); + free requires (memory_load8_le(mem, 2349bv64) == 100bv8); + free requires (memory_load8_le(mem, 2350bv64) == 10bv8); + free requires (memory_load8_le(mem, 2351bv64) == 0bv8); + free requires (memory_load8_le(mem, 2352bv64) == 84bv8); + free requires (memory_load8_le(mem, 2353bv64) == 104bv8); + free requires (memory_load8_le(mem, 2354bv64) == 101bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 108bv8); + free requires (memory_load8_le(mem, 2357bv64) == 111bv8); + free requires (memory_load8_le(mem, 2358bv64) == 99bv8); + free requires (memory_load8_le(mem, 2359bv64) == 97bv8); + free requires (memory_load8_le(mem, 2360bv64) == 108bv8); + free requires (memory_load8_le(mem, 2361bv64) == 32bv8); + free requires (memory_load8_le(mem, 2362bv64) == 118bv8); + free requires (memory_load8_le(mem, 2363bv64) == 97bv8); + free requires (memory_load8_le(mem, 2364bv64) == 114bv8); + free requires (memory_load8_le(mem, 2365bv64) == 105bv8); + free requires (memory_load8_le(mem, 2366bv64) == 97bv8); + free requires (memory_load8_le(mem, 2367bv64) == 98bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 101bv8); + free requires (memory_load8_le(mem, 2370bv64) == 32bv8); + free requires (memory_load8_le(mem, 2371bv64) == 105bv8); + free requires (memory_load8_le(mem, 2372bv64) == 115bv8); + free requires (memory_load8_le(mem, 2373bv64) == 58bv8); + free requires (memory_load8_le(mem, 2374bv64) == 32bv8); + free requires (memory_load8_le(mem, 2375bv64) == 37bv8); + free requires (memory_load8_le(mem, 2376bv64) == 100bv8); + free requires (memory_load8_le(mem, 2377bv64) == 10bv8); + free requires (memory_load8_le(mem, 2378bv64) == 0bv8); + free requires (memory_load8_le(mem, 2379bv64) == 0bv8); + free requires (memory_load8_le(mem, 2380bv64) == 0bv8); + free requires (memory_load8_le(mem, 2381bv64) == 0bv8); + free requires (memory_load8_le(mem, 2382bv64) == 0bv8); + free requires (memory_load8_le(mem, 2383bv64) == 0bv8); + free requires (memory_load8_le(mem, 2384bv64) == 84bv8); + free requires (memory_load8_le(mem, 2385bv64) == 104bv8); + free requires (memory_load8_le(mem, 2386bv64) == 101bv8); + free requires (memory_load8_le(mem, 2387bv64) == 32bv8); + free requires (memory_load8_le(mem, 2388bv64) == 99bv8); + free requires (memory_load8_le(mem, 2389bv64) == 104bv8); + free requires (memory_load8_le(mem, 2390bv64) == 97bv8); + free requires (memory_load8_le(mem, 2391bv64) == 114bv8); + free requires (memory_load8_le(mem, 2392bv64) == 32bv8); + free requires (memory_load8_le(mem, 2393bv64) == 118bv8); + free requires (memory_load8_le(mem, 2394bv64) == 97bv8); + free requires (memory_load8_le(mem, 2395bv64) == 108bv8); + free requires (memory_load8_le(mem, 2396bv64) == 117bv8); + free requires (memory_load8_le(mem, 2397bv64) == 101bv8); + free requires (memory_load8_le(mem, 2398bv64) == 32bv8); + free requires (memory_load8_le(mem, 2399bv64) == 105bv8); + free requires (memory_load8_le(mem, 2400bv64) == 115bv8); + free requires (memory_load8_le(mem, 2401bv64) == 58bv8); + free requires (memory_load8_le(mem, 2402bv64) == 32bv8); + free requires (memory_load8_le(mem, 2403bv64) == 37bv8); + free requires (memory_load8_le(mem, 2404bv64) == 99bv8); + free requires (memory_load8_le(mem, 2405bv64) == 10bv8); + free requires (memory_load8_le(mem, 2406bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2328bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -415,13 +762,457 @@ procedure main() } procedure malloc(); + free requires (memory_load8_le(mem, 2328bv64) == 1bv8); + free requires (memory_load8_le(mem, 2329bv64) == 0bv8); + free requires (memory_load8_le(mem, 2330bv64) == 2bv8); + free requires (memory_load8_le(mem, 2331bv64) == 0bv8); + free requires (memory_load8_le(mem, 2332bv64) == 0bv8); + free requires (memory_load8_le(mem, 2333bv64) == 0bv8); + free requires (memory_load8_le(mem, 2334bv64) == 0bv8); + free requires (memory_load8_le(mem, 2335bv64) == 0bv8); + free requires (memory_load8_le(mem, 2336bv64) == 84bv8); + free requires (memory_load8_le(mem, 2337bv64) == 104bv8); + free requires (memory_load8_le(mem, 2338bv64) == 101bv8); + free requires (memory_load8_le(mem, 2339bv64) == 32bv8); + free requires (memory_load8_le(mem, 2340bv64) == 105bv8); + free requires (memory_load8_le(mem, 2341bv64) == 110bv8); + free requires (memory_load8_le(mem, 2342bv64) == 116bv8); + free requires (memory_load8_le(mem, 2343bv64) == 32bv8); + free requires (memory_load8_le(mem, 2344bv64) == 105bv8); + free requires (memory_load8_le(mem, 2345bv64) == 115bv8); + free requires (memory_load8_le(mem, 2346bv64) == 58bv8); + free requires (memory_load8_le(mem, 2347bv64) == 32bv8); + free requires (memory_load8_le(mem, 2348bv64) == 37bv8); + free requires (memory_load8_le(mem, 2349bv64) == 100bv8); + free requires (memory_load8_le(mem, 2350bv64) == 10bv8); + free requires (memory_load8_le(mem, 2351bv64) == 0bv8); + free requires (memory_load8_le(mem, 2352bv64) == 84bv8); + free requires (memory_load8_le(mem, 2353bv64) == 104bv8); + free requires (memory_load8_le(mem, 2354bv64) == 101bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 108bv8); + free requires (memory_load8_le(mem, 2357bv64) == 111bv8); + free requires (memory_load8_le(mem, 2358bv64) == 99bv8); + free requires (memory_load8_le(mem, 2359bv64) == 97bv8); + free requires (memory_load8_le(mem, 2360bv64) == 108bv8); + free requires (memory_load8_le(mem, 2361bv64) == 32bv8); + free requires (memory_load8_le(mem, 2362bv64) == 118bv8); + free requires (memory_load8_le(mem, 2363bv64) == 97bv8); + free requires (memory_load8_le(mem, 2364bv64) == 114bv8); + free requires (memory_load8_le(mem, 2365bv64) == 105bv8); + free requires (memory_load8_le(mem, 2366bv64) == 97bv8); + free requires (memory_load8_le(mem, 2367bv64) == 98bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 101bv8); + free requires (memory_load8_le(mem, 2370bv64) == 32bv8); + free requires (memory_load8_le(mem, 2371bv64) == 105bv8); + free requires (memory_load8_le(mem, 2372bv64) == 115bv8); + free requires (memory_load8_le(mem, 2373bv64) == 58bv8); + free requires (memory_load8_le(mem, 2374bv64) == 32bv8); + free requires (memory_load8_le(mem, 2375bv64) == 37bv8); + free requires (memory_load8_le(mem, 2376bv64) == 100bv8); + free requires (memory_load8_le(mem, 2377bv64) == 10bv8); + free requires (memory_load8_le(mem, 2378bv64) == 0bv8); + free requires (memory_load8_le(mem, 2379bv64) == 0bv8); + free requires (memory_load8_le(mem, 2380bv64) == 0bv8); + free requires (memory_load8_le(mem, 2381bv64) == 0bv8); + free requires (memory_load8_le(mem, 2382bv64) == 0bv8); + free requires (memory_load8_le(mem, 2383bv64) == 0bv8); + free requires (memory_load8_le(mem, 2384bv64) == 84bv8); + free requires (memory_load8_le(mem, 2385bv64) == 104bv8); + free requires (memory_load8_le(mem, 2386bv64) == 101bv8); + free requires (memory_load8_le(mem, 2387bv64) == 32bv8); + free requires (memory_load8_le(mem, 2388bv64) == 99bv8); + free requires (memory_load8_le(mem, 2389bv64) == 104bv8); + free requires (memory_load8_le(mem, 2390bv64) == 97bv8); + free requires (memory_load8_le(mem, 2391bv64) == 114bv8); + free requires (memory_load8_le(mem, 2392bv64) == 32bv8); + free requires (memory_load8_le(mem, 2393bv64) == 118bv8); + free requires (memory_load8_le(mem, 2394bv64) == 97bv8); + free requires (memory_load8_le(mem, 2395bv64) == 108bv8); + free requires (memory_load8_le(mem, 2396bv64) == 117bv8); + free requires (memory_load8_le(mem, 2397bv64) == 101bv8); + free requires (memory_load8_le(mem, 2398bv64) == 32bv8); + free requires (memory_load8_le(mem, 2399bv64) == 105bv8); + free requires (memory_load8_le(mem, 2400bv64) == 115bv8); + free requires (memory_load8_le(mem, 2401bv64) == 58bv8); + free requires (memory_load8_le(mem, 2402bv64) == 32bv8); + free requires (memory_load8_le(mem, 2403bv64) == 37bv8); + free requires (memory_load8_le(mem, 2404bv64) == 99bv8); + free requires (memory_load8_le(mem, 2405bv64) == 10bv8); + free requires (memory_load8_le(mem, 2406bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure printCharValue() modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R1, R29, R30, R31, stack; + free requires (memory_load8_le(mem, 2328bv64) == 1bv8); + free requires (memory_load8_le(mem, 2329bv64) == 0bv8); + free requires (memory_load8_le(mem, 2330bv64) == 2bv8); + free requires (memory_load8_le(mem, 2331bv64) == 0bv8); + free requires (memory_load8_le(mem, 2332bv64) == 0bv8); + free requires (memory_load8_le(mem, 2333bv64) == 0bv8); + free requires (memory_load8_le(mem, 2334bv64) == 0bv8); + free requires (memory_load8_le(mem, 2335bv64) == 0bv8); + free requires (memory_load8_le(mem, 2336bv64) == 84bv8); + free requires (memory_load8_le(mem, 2337bv64) == 104bv8); + free requires (memory_load8_le(mem, 2338bv64) == 101bv8); + free requires (memory_load8_le(mem, 2339bv64) == 32bv8); + free requires (memory_load8_le(mem, 2340bv64) == 105bv8); + free requires (memory_load8_le(mem, 2341bv64) == 110bv8); + free requires (memory_load8_le(mem, 2342bv64) == 116bv8); + free requires (memory_load8_le(mem, 2343bv64) == 32bv8); + free requires (memory_load8_le(mem, 2344bv64) == 105bv8); + free requires (memory_load8_le(mem, 2345bv64) == 115bv8); + free requires (memory_load8_le(mem, 2346bv64) == 58bv8); + free requires (memory_load8_le(mem, 2347bv64) == 32bv8); + free requires (memory_load8_le(mem, 2348bv64) == 37bv8); + free requires (memory_load8_le(mem, 2349bv64) == 100bv8); + free requires (memory_load8_le(mem, 2350bv64) == 10bv8); + free requires (memory_load8_le(mem, 2351bv64) == 0bv8); + free requires (memory_load8_le(mem, 2352bv64) == 84bv8); + free requires (memory_load8_le(mem, 2353bv64) == 104bv8); + free requires (memory_load8_le(mem, 2354bv64) == 101bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 108bv8); + free requires (memory_load8_le(mem, 2357bv64) == 111bv8); + free requires (memory_load8_le(mem, 2358bv64) == 99bv8); + free requires (memory_load8_le(mem, 2359bv64) == 97bv8); + free requires (memory_load8_le(mem, 2360bv64) == 108bv8); + free requires (memory_load8_le(mem, 2361bv64) == 32bv8); + free requires (memory_load8_le(mem, 2362bv64) == 118bv8); + free requires (memory_load8_le(mem, 2363bv64) == 97bv8); + free requires (memory_load8_le(mem, 2364bv64) == 114bv8); + free requires (memory_load8_le(mem, 2365bv64) == 105bv8); + free requires (memory_load8_le(mem, 2366bv64) == 97bv8); + free requires (memory_load8_le(mem, 2367bv64) == 98bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 101bv8); + free requires (memory_load8_le(mem, 2370bv64) == 32bv8); + free requires (memory_load8_le(mem, 2371bv64) == 105bv8); + free requires (memory_load8_le(mem, 2372bv64) == 115bv8); + free requires (memory_load8_le(mem, 2373bv64) == 58bv8); + free requires (memory_load8_le(mem, 2374bv64) == 32bv8); + free requires (memory_load8_le(mem, 2375bv64) == 37bv8); + free requires (memory_load8_le(mem, 2376bv64) == 100bv8); + free requires (memory_load8_le(mem, 2377bv64) == 10bv8); + free requires (memory_load8_le(mem, 2378bv64) == 0bv8); + free requires (memory_load8_le(mem, 2379bv64) == 0bv8); + free requires (memory_load8_le(mem, 2380bv64) == 0bv8); + free requires (memory_load8_le(mem, 2381bv64) == 0bv8); + free requires (memory_load8_le(mem, 2382bv64) == 0bv8); + free requires (memory_load8_le(mem, 2383bv64) == 0bv8); + free requires (memory_load8_le(mem, 2384bv64) == 84bv8); + free requires (memory_load8_le(mem, 2385bv64) == 104bv8); + free requires (memory_load8_le(mem, 2386bv64) == 101bv8); + free requires (memory_load8_le(mem, 2387bv64) == 32bv8); + free requires (memory_load8_le(mem, 2388bv64) == 99bv8); + free requires (memory_load8_le(mem, 2389bv64) == 104bv8); + free requires (memory_load8_le(mem, 2390bv64) == 97bv8); + free requires (memory_load8_le(mem, 2391bv64) == 114bv8); + free requires (memory_load8_le(mem, 2392bv64) == 32bv8); + free requires (memory_load8_le(mem, 2393bv64) == 118bv8); + free requires (memory_load8_le(mem, 2394bv64) == 97bv8); + free requires (memory_load8_le(mem, 2395bv64) == 108bv8); + free requires (memory_load8_le(mem, 2396bv64) == 117bv8); + free requires (memory_load8_le(mem, 2397bv64) == 101bv8); + free requires (memory_load8_le(mem, 2398bv64) == 32bv8); + free requires (memory_load8_le(mem, 2399bv64) == 105bv8); + free requires (memory_load8_le(mem, 2400bv64) == 115bv8); + free requires (memory_load8_le(mem, 2401bv64) == 58bv8); + free requires (memory_load8_le(mem, 2402bv64) == 32bv8); + free requires (memory_load8_le(mem, 2403bv64) == 37bv8); + free requires (memory_load8_le(mem, 2404bv64) == 99bv8); + free requires (memory_load8_le(mem, 2405bv64) == 10bv8); + free requires (memory_load8_le(mem, 2406bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2328bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #5: bv64; var Gamma_#5: bool; @@ -454,3 +1245,225 @@ procedure printCharValue() } procedure printf(); + free requires (memory_load8_le(mem, 2328bv64) == 1bv8); + free requires (memory_load8_le(mem, 2329bv64) == 0bv8); + free requires (memory_load8_le(mem, 2330bv64) == 2bv8); + free requires (memory_load8_le(mem, 2331bv64) == 0bv8); + free requires (memory_load8_le(mem, 2332bv64) == 0bv8); + free requires (memory_load8_le(mem, 2333bv64) == 0bv8); + free requires (memory_load8_le(mem, 2334bv64) == 0bv8); + free requires (memory_load8_le(mem, 2335bv64) == 0bv8); + free requires (memory_load8_le(mem, 2336bv64) == 84bv8); + free requires (memory_load8_le(mem, 2337bv64) == 104bv8); + free requires (memory_load8_le(mem, 2338bv64) == 101bv8); + free requires (memory_load8_le(mem, 2339bv64) == 32bv8); + free requires (memory_load8_le(mem, 2340bv64) == 105bv8); + free requires (memory_load8_le(mem, 2341bv64) == 110bv8); + free requires (memory_load8_le(mem, 2342bv64) == 116bv8); + free requires (memory_load8_le(mem, 2343bv64) == 32bv8); + free requires (memory_load8_le(mem, 2344bv64) == 105bv8); + free requires (memory_load8_le(mem, 2345bv64) == 115bv8); + free requires (memory_load8_le(mem, 2346bv64) == 58bv8); + free requires (memory_load8_le(mem, 2347bv64) == 32bv8); + free requires (memory_load8_le(mem, 2348bv64) == 37bv8); + free requires (memory_load8_le(mem, 2349bv64) == 100bv8); + free requires (memory_load8_le(mem, 2350bv64) == 10bv8); + free requires (memory_load8_le(mem, 2351bv64) == 0bv8); + free requires (memory_load8_le(mem, 2352bv64) == 84bv8); + free requires (memory_load8_le(mem, 2353bv64) == 104bv8); + free requires (memory_load8_le(mem, 2354bv64) == 101bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 108bv8); + free requires (memory_load8_le(mem, 2357bv64) == 111bv8); + free requires (memory_load8_le(mem, 2358bv64) == 99bv8); + free requires (memory_load8_le(mem, 2359bv64) == 97bv8); + free requires (memory_load8_le(mem, 2360bv64) == 108bv8); + free requires (memory_load8_le(mem, 2361bv64) == 32bv8); + free requires (memory_load8_le(mem, 2362bv64) == 118bv8); + free requires (memory_load8_le(mem, 2363bv64) == 97bv8); + free requires (memory_load8_le(mem, 2364bv64) == 114bv8); + free requires (memory_load8_le(mem, 2365bv64) == 105bv8); + free requires (memory_load8_le(mem, 2366bv64) == 97bv8); + free requires (memory_load8_le(mem, 2367bv64) == 98bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 101bv8); + free requires (memory_load8_le(mem, 2370bv64) == 32bv8); + free requires (memory_load8_le(mem, 2371bv64) == 105bv8); + free requires (memory_load8_le(mem, 2372bv64) == 115bv8); + free requires (memory_load8_le(mem, 2373bv64) == 58bv8); + free requires (memory_load8_le(mem, 2374bv64) == 32bv8); + free requires (memory_load8_le(mem, 2375bv64) == 37bv8); + free requires (memory_load8_le(mem, 2376bv64) == 100bv8); + free requires (memory_load8_le(mem, 2377bv64) == 10bv8); + free requires (memory_load8_le(mem, 2378bv64) == 0bv8); + free requires (memory_load8_le(mem, 2379bv64) == 0bv8); + free requires (memory_load8_le(mem, 2380bv64) == 0bv8); + free requires (memory_load8_le(mem, 2381bv64) == 0bv8); + free requires (memory_load8_le(mem, 2382bv64) == 0bv8); + free requires (memory_load8_le(mem, 2383bv64) == 0bv8); + free requires (memory_load8_le(mem, 2384bv64) == 84bv8); + free requires (memory_load8_le(mem, 2385bv64) == 104bv8); + free requires (memory_load8_le(mem, 2386bv64) == 101bv8); + free requires (memory_load8_le(mem, 2387bv64) == 32bv8); + free requires (memory_load8_le(mem, 2388bv64) == 99bv8); + free requires (memory_load8_le(mem, 2389bv64) == 104bv8); + free requires (memory_load8_le(mem, 2390bv64) == 97bv8); + free requires (memory_load8_le(mem, 2391bv64) == 114bv8); + free requires (memory_load8_le(mem, 2392bv64) == 32bv8); + free requires (memory_load8_le(mem, 2393bv64) == 118bv8); + free requires (memory_load8_le(mem, 2394bv64) == 97bv8); + free requires (memory_load8_le(mem, 2395bv64) == 108bv8); + free requires (memory_load8_le(mem, 2396bv64) == 117bv8); + free requires (memory_load8_le(mem, 2397bv64) == 101bv8); + free requires (memory_load8_le(mem, 2398bv64) == 32bv8); + free requires (memory_load8_le(mem, 2399bv64) == 105bv8); + free requires (memory_load8_le(mem, 2400bv64) == 115bv8); + free requires (memory_load8_le(mem, 2401bv64) == 58bv8); + free requires (memory_load8_le(mem, 2402bv64) == 32bv8); + free requires (memory_load8_le(mem, 2403bv64) == 37bv8); + free requires (memory_load8_le(mem, 2404bv64) == 99bv8); + free requires (memory_load8_le(mem, 2405bv64) == 10bv8); + free requires (memory_load8_le(mem, 2406bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); diff --git a/src/test/correct/multi_malloc/clang/multi_malloc.expected b/src/test/correct/multi_malloc/clang/multi_malloc.expected index 24487b591..3b60a66c5 100644 --- a/src/test/correct/multi_malloc/clang/multi_malloc.expected +++ b/src/test/correct/multi_malloc/clang/multi_malloc.expected @@ -75,9 +75,77 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2232bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -94,9 +162,6 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure #free(); - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 2232bv64) == 1bv8); free requires (memory_load8_le(mem, 2233bv64) == 0bv8); free requires (memory_load8_le(mem, 2234bv64) == 2bv8); @@ -134,38 +199,22 @@ procedure main() free requires (memory_load8_le(mem, 2266bv64) == 100bv8); free requires (memory_load8_le(mem, 2267bv64) == 10bv8); free requires (memory_load8_le(mem, 2268bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 8bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -174,14 +223,86 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 69688bv64) == 0bv8); free requires (memory_load8_le(mem, 69689bv64) == 0bv8); free requires (memory_load8_le(mem, 69690bv64) == 0bv8); @@ -198,10 +319,148 @@ procedure main() free requires (memory_load8_le(mem, 69701bv64) == 0bv8); free requires (memory_load8_le(mem, 69702bv64) == 0bv8); free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free requires (memory_load8_le(mem, 2232bv64) == 1bv8); + free requires (memory_load8_le(mem, 2233bv64) == 0bv8); + free requires (memory_load8_le(mem, 2234bv64) == 2bv8); + free requires (memory_load8_le(mem, 2235bv64) == 0bv8); + free requires (memory_load8_le(mem, 2236bv64) == 84bv8); + free requires (memory_load8_le(mem, 2237bv64) == 104bv8); + free requires (memory_load8_le(mem, 2238bv64) == 101bv8); + free requires (memory_load8_le(mem, 2239bv64) == 32bv8); + free requires (memory_load8_le(mem, 2240bv64) == 99bv8); + free requires (memory_load8_le(mem, 2241bv64) == 104bv8); + free requires (memory_load8_le(mem, 2242bv64) == 97bv8); + free requires (memory_load8_le(mem, 2243bv64) == 114bv8); + free requires (memory_load8_le(mem, 2244bv64) == 32bv8); + free requires (memory_load8_le(mem, 2245bv64) == 105bv8); + free requires (memory_load8_le(mem, 2246bv64) == 115bv8); + free requires (memory_load8_le(mem, 2247bv64) == 58bv8); + free requires (memory_load8_le(mem, 2248bv64) == 32bv8); + free requires (memory_load8_le(mem, 2249bv64) == 37bv8); + free requires (memory_load8_le(mem, 2250bv64) == 99bv8); + free requires (memory_load8_le(mem, 2251bv64) == 10bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 84bv8); + free requires (memory_load8_le(mem, 2254bv64) == 104bv8); + free requires (memory_load8_le(mem, 2255bv64) == 101bv8); + free requires (memory_load8_le(mem, 2256bv64) == 32bv8); + free requires (memory_load8_le(mem, 2257bv64) == 105bv8); + free requires (memory_load8_le(mem, 2258bv64) == 110bv8); + free requires (memory_load8_le(mem, 2259bv64) == 116bv8); + free requires (memory_load8_le(mem, 2260bv64) == 32bv8); + free requires (memory_load8_le(mem, 2261bv64) == 105bv8); + free requires (memory_load8_le(mem, 2262bv64) == 115bv8); + free requires (memory_load8_le(mem, 2263bv64) == 58bv8); + free requires (memory_load8_le(mem, 2264bv64) == 32bv8); + free requires (memory_load8_le(mem, 2265bv64) == 37bv8); + free requires (memory_load8_le(mem, 2266bv64) == 100bv8); + free requires (memory_load8_le(mem, 2267bv64) == 10bv8); + free requires (memory_load8_le(mem, 2268bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2232bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); { var #4: bv64; var #5: bv64; @@ -277,5 +536,281 @@ procedure main() } procedure malloc(); + free requires (memory_load8_le(mem, 2232bv64) == 1bv8); + free requires (memory_load8_le(mem, 2233bv64) == 0bv8); + free requires (memory_load8_le(mem, 2234bv64) == 2bv8); + free requires (memory_load8_le(mem, 2235bv64) == 0bv8); + free requires (memory_load8_le(mem, 2236bv64) == 84bv8); + free requires (memory_load8_le(mem, 2237bv64) == 104bv8); + free requires (memory_load8_le(mem, 2238bv64) == 101bv8); + free requires (memory_load8_le(mem, 2239bv64) == 32bv8); + free requires (memory_load8_le(mem, 2240bv64) == 99bv8); + free requires (memory_load8_le(mem, 2241bv64) == 104bv8); + free requires (memory_load8_le(mem, 2242bv64) == 97bv8); + free requires (memory_load8_le(mem, 2243bv64) == 114bv8); + free requires (memory_load8_le(mem, 2244bv64) == 32bv8); + free requires (memory_load8_le(mem, 2245bv64) == 105bv8); + free requires (memory_load8_le(mem, 2246bv64) == 115bv8); + free requires (memory_load8_le(mem, 2247bv64) == 58bv8); + free requires (memory_load8_le(mem, 2248bv64) == 32bv8); + free requires (memory_load8_le(mem, 2249bv64) == 37bv8); + free requires (memory_load8_le(mem, 2250bv64) == 99bv8); + free requires (memory_load8_le(mem, 2251bv64) == 10bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 84bv8); + free requires (memory_load8_le(mem, 2254bv64) == 104bv8); + free requires (memory_load8_le(mem, 2255bv64) == 101bv8); + free requires (memory_load8_le(mem, 2256bv64) == 32bv8); + free requires (memory_load8_le(mem, 2257bv64) == 105bv8); + free requires (memory_load8_le(mem, 2258bv64) == 110bv8); + free requires (memory_load8_le(mem, 2259bv64) == 116bv8); + free requires (memory_load8_le(mem, 2260bv64) == 32bv8); + free requires (memory_load8_le(mem, 2261bv64) == 105bv8); + free requires (memory_load8_le(mem, 2262bv64) == 115bv8); + free requires (memory_load8_le(mem, 2263bv64) == 58bv8); + free requires (memory_load8_le(mem, 2264bv64) == 32bv8); + free requires (memory_load8_le(mem, 2265bv64) == 37bv8); + free requires (memory_load8_le(mem, 2266bv64) == 100bv8); + free requires (memory_load8_le(mem, 2267bv64) == 10bv8); + free requires (memory_load8_le(mem, 2268bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure printf(); + free requires (memory_load8_le(mem, 2232bv64) == 1bv8); + free requires (memory_load8_le(mem, 2233bv64) == 0bv8); + free requires (memory_load8_le(mem, 2234bv64) == 2bv8); + free requires (memory_load8_le(mem, 2235bv64) == 0bv8); + free requires (memory_load8_le(mem, 2236bv64) == 84bv8); + free requires (memory_load8_le(mem, 2237bv64) == 104bv8); + free requires (memory_load8_le(mem, 2238bv64) == 101bv8); + free requires (memory_load8_le(mem, 2239bv64) == 32bv8); + free requires (memory_load8_le(mem, 2240bv64) == 99bv8); + free requires (memory_load8_le(mem, 2241bv64) == 104bv8); + free requires (memory_load8_le(mem, 2242bv64) == 97bv8); + free requires (memory_load8_le(mem, 2243bv64) == 114bv8); + free requires (memory_load8_le(mem, 2244bv64) == 32bv8); + free requires (memory_load8_le(mem, 2245bv64) == 105bv8); + free requires (memory_load8_le(mem, 2246bv64) == 115bv8); + free requires (memory_load8_le(mem, 2247bv64) == 58bv8); + free requires (memory_load8_le(mem, 2248bv64) == 32bv8); + free requires (memory_load8_le(mem, 2249bv64) == 37bv8); + free requires (memory_load8_le(mem, 2250bv64) == 99bv8); + free requires (memory_load8_le(mem, 2251bv64) == 10bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 84bv8); + free requires (memory_load8_le(mem, 2254bv64) == 104bv8); + free requires (memory_load8_le(mem, 2255bv64) == 101bv8); + free requires (memory_load8_le(mem, 2256bv64) == 32bv8); + free requires (memory_load8_le(mem, 2257bv64) == 105bv8); + free requires (memory_load8_le(mem, 2258bv64) == 110bv8); + free requires (memory_load8_le(mem, 2259bv64) == 116bv8); + free requires (memory_load8_le(mem, 2260bv64) == 32bv8); + free requires (memory_load8_le(mem, 2261bv64) == 105bv8); + free requires (memory_load8_le(mem, 2262bv64) == 115bv8); + free requires (memory_load8_le(mem, 2263bv64) == 58bv8); + free requires (memory_load8_le(mem, 2264bv64) == 32bv8); + free requires (memory_load8_le(mem, 2265bv64) == 37bv8); + free requires (memory_load8_le(mem, 2266bv64) == 100bv8); + free requires (memory_load8_le(mem, 2267bv64) == 10bv8); + free requires (memory_load8_le(mem, 2268bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); diff --git a/src/test/correct/multi_malloc/clang_O2/multi_malloc.expected b/src/test/correct/multi_malloc/clang_O2/multi_malloc.expected index 0aeeee744..61eb6df86 100644 --- a/src/test/correct/multi_malloc/clang_O2/multi_malloc.expected +++ b/src/test/correct/multi_malloc/clang_O2/multi_malloc.expected @@ -41,9 +41,77 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1948bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1949bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1950bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1951bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1952bv64) == 84bv8); + free ensures (memory_load8_le(mem, 1953bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1954bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1955bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1956bv64) == 99bv8); + free ensures (memory_load8_le(mem, 1957bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1958bv64) == 97bv8); + free ensures (memory_load8_le(mem, 1959bv64) == 114bv8); + free ensures (memory_load8_le(mem, 1960bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1961bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1962bv64) == 115bv8); + free ensures (memory_load8_le(mem, 1963bv64) == 58bv8); + free ensures (memory_load8_le(mem, 1964bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1965bv64) == 37bv8); + free ensures (memory_load8_le(mem, 1966bv64) == 99bv8); + free ensures (memory_load8_le(mem, 1967bv64) == 10bv8); + free ensures (memory_load8_le(mem, 1968bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1969bv64) == 84bv8); + free ensures (memory_load8_le(mem, 1970bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1971bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1972bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1973bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1974bv64) == 110bv8); + free ensures (memory_load8_le(mem, 1975bv64) == 116bv8); + free ensures (memory_load8_le(mem, 1976bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1977bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1978bv64) == 115bv8); + free ensures (memory_load8_le(mem, 1979bv64) == 58bv8); + free ensures (memory_load8_le(mem, 1980bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1981bv64) == 37bv8); + free ensures (memory_load8_le(mem, 1982bv64) == 100bv8); + free ensures (memory_load8_le(mem, 1983bv64) == 10bv8); + free ensures (memory_load8_le(mem, 1984bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -61,6 +129,22 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R1, R29, R30, R31, stack; + free requires (memory_load8_le(mem, 69672bv64) == 0bv8); + free requires (memory_load8_le(mem, 69673bv64) == 0bv8); + free requires (memory_load8_le(mem, 69674bv64) == 0bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); free requires (memory_load8_le(mem, 1948bv64) == 1bv8); free requires (memory_load8_le(mem, 1949bv64) == 0bv8); free requires (memory_load8_le(mem, 1950bv64) == 2bv8); @@ -98,38 +182,22 @@ procedure main() free requires (memory_load8_le(mem, 1982bv64) == 100bv8); free requires (memory_load8_le(mem, 1983bv64) == 10bv8); free requires (memory_load8_le(mem, 1984bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 84bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -138,22 +206,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 0bv8); - free requires (memory_load8_le(mem, 69673bv64) == 0bv8); - free requires (memory_load8_le(mem, 69674bv64) == 0bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 69680bv64) == 48bv8); free requires (memory_load8_le(mem, 69681bv64) == 16bv8); free requires (memory_load8_le(mem, 69682bv64) == 1bv8); @@ -166,6 +218,75 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1948bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1949bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1950bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1951bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1952bv64) == 84bv8); + free ensures (memory_load8_le(mem, 1953bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1954bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1955bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1956bv64) == 99bv8); + free ensures (memory_load8_le(mem, 1957bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1958bv64) == 97bv8); + free ensures (memory_load8_le(mem, 1959bv64) == 114bv8); + free ensures (memory_load8_le(mem, 1960bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1961bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1962bv64) == 115bv8); + free ensures (memory_load8_le(mem, 1963bv64) == 58bv8); + free ensures (memory_load8_le(mem, 1964bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1965bv64) == 37bv8); + free ensures (memory_load8_le(mem, 1966bv64) == 99bv8); + free ensures (memory_load8_le(mem, 1967bv64) == 10bv8); + free ensures (memory_load8_le(mem, 1968bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1969bv64) == 84bv8); + free ensures (memory_load8_le(mem, 1970bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1971bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1972bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1973bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1974bv64) == 110bv8); + free ensures (memory_load8_le(mem, 1975bv64) == 116bv8); + free ensures (memory_load8_le(mem, 1976bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1977bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1978bv64) == 115bv8); + free ensures (memory_load8_le(mem, 1979bv64) == 58bv8); + free ensures (memory_load8_le(mem, 1980bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1981bv64) == 37bv8); + free ensures (memory_load8_le(mem, 1982bv64) == 100bv8); + free ensures (memory_load8_le(mem, 1983bv64) == 10bv8); + free ensures (memory_load8_le(mem, 1984bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -197,3 +318,141 @@ procedure main() } procedure printf(); + free requires (memory_load8_le(mem, 1948bv64) == 1bv8); + free requires (memory_load8_le(mem, 1949bv64) == 0bv8); + free requires (memory_load8_le(mem, 1950bv64) == 2bv8); + free requires (memory_load8_le(mem, 1951bv64) == 0bv8); + free requires (memory_load8_le(mem, 1952bv64) == 84bv8); + free requires (memory_load8_le(mem, 1953bv64) == 104bv8); + free requires (memory_load8_le(mem, 1954bv64) == 101bv8); + free requires (memory_load8_le(mem, 1955bv64) == 32bv8); + free requires (memory_load8_le(mem, 1956bv64) == 99bv8); + free requires (memory_load8_le(mem, 1957bv64) == 104bv8); + free requires (memory_load8_le(mem, 1958bv64) == 97bv8); + free requires (memory_load8_le(mem, 1959bv64) == 114bv8); + free requires (memory_load8_le(mem, 1960bv64) == 32bv8); + free requires (memory_load8_le(mem, 1961bv64) == 105bv8); + free requires (memory_load8_le(mem, 1962bv64) == 115bv8); + free requires (memory_load8_le(mem, 1963bv64) == 58bv8); + free requires (memory_load8_le(mem, 1964bv64) == 32bv8); + free requires (memory_load8_le(mem, 1965bv64) == 37bv8); + free requires (memory_load8_le(mem, 1966bv64) == 99bv8); + free requires (memory_load8_le(mem, 1967bv64) == 10bv8); + free requires (memory_load8_le(mem, 1968bv64) == 0bv8); + free requires (memory_load8_le(mem, 1969bv64) == 84bv8); + free requires (memory_load8_le(mem, 1970bv64) == 104bv8); + free requires (memory_load8_le(mem, 1971bv64) == 101bv8); + free requires (memory_load8_le(mem, 1972bv64) == 32bv8); + free requires (memory_load8_le(mem, 1973bv64) == 105bv8); + free requires (memory_load8_le(mem, 1974bv64) == 110bv8); + free requires (memory_load8_le(mem, 1975bv64) == 116bv8); + free requires (memory_load8_le(mem, 1976bv64) == 32bv8); + free requires (memory_load8_le(mem, 1977bv64) == 105bv8); + free requires (memory_load8_le(mem, 1978bv64) == 115bv8); + free requires (memory_load8_le(mem, 1979bv64) == 58bv8); + free requires (memory_load8_le(mem, 1980bv64) == 32bv8); + free requires (memory_load8_le(mem, 1981bv64) == 37bv8); + free requires (memory_load8_le(mem, 1982bv64) == 100bv8); + free requires (memory_load8_le(mem, 1983bv64) == 10bv8); + free requires (memory_load8_le(mem, 1984bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 84bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1948bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1949bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1950bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1951bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1952bv64) == 84bv8); + free ensures (memory_load8_le(mem, 1953bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1954bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1955bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1956bv64) == 99bv8); + free ensures (memory_load8_le(mem, 1957bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1958bv64) == 97bv8); + free ensures (memory_load8_le(mem, 1959bv64) == 114bv8); + free ensures (memory_load8_le(mem, 1960bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1961bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1962bv64) == 115bv8); + free ensures (memory_load8_le(mem, 1963bv64) == 58bv8); + free ensures (memory_load8_le(mem, 1964bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1965bv64) == 37bv8); + free ensures (memory_load8_le(mem, 1966bv64) == 99bv8); + free ensures (memory_load8_le(mem, 1967bv64) == 10bv8); + free ensures (memory_load8_le(mem, 1968bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1969bv64) == 84bv8); + free ensures (memory_load8_le(mem, 1970bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1971bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1972bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1973bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1974bv64) == 110bv8); + free ensures (memory_load8_le(mem, 1975bv64) == 116bv8); + free ensures (memory_load8_le(mem, 1976bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1977bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1978bv64) == 115bv8); + free ensures (memory_load8_le(mem, 1979bv64) == 58bv8); + free ensures (memory_load8_le(mem, 1980bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1981bv64) == 37bv8); + free ensures (memory_load8_le(mem, 1982bv64) == 100bv8); + free ensures (memory_load8_le(mem, 1983bv64) == 10bv8); + free ensures (memory_load8_le(mem, 1984bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); diff --git a/src/test/correct/multi_malloc/clang_no_plt_no_pic/multi_malloc.expected b/src/test/correct/multi_malloc/clang_no_plt_no_pic/multi_malloc.expected index 677ac040b..beb67f8f2 100644 --- a/src/test/correct/multi_malloc/clang_no_plt_no_pic/multi_malloc.expected +++ b/src/test/correct/multi_malloc/clang_no_plt_no_pic/multi_malloc.expected @@ -75,9 +75,77 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2232bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -94,9 +162,6 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure #free(); - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 2232bv64) == 1bv8); free requires (memory_load8_le(mem, 2233bv64) == 0bv8); free requires (memory_load8_le(mem, 2234bv64) == 2bv8); @@ -134,38 +199,22 @@ procedure main() free requires (memory_load8_le(mem, 2266bv64) == 100bv8); free requires (memory_load8_le(mem, 2267bv64) == 10bv8); free requires (memory_load8_le(mem, 2268bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 8bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -174,14 +223,86 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 69688bv64) == 0bv8); free requires (memory_load8_le(mem, 69689bv64) == 0bv8); free requires (memory_load8_le(mem, 69690bv64) == 0bv8); @@ -198,10 +319,148 @@ procedure main() free requires (memory_load8_le(mem, 69701bv64) == 0bv8); free requires (memory_load8_le(mem, 69702bv64) == 0bv8); free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free requires (memory_load8_le(mem, 2232bv64) == 1bv8); + free requires (memory_load8_le(mem, 2233bv64) == 0bv8); + free requires (memory_load8_le(mem, 2234bv64) == 2bv8); + free requires (memory_load8_le(mem, 2235bv64) == 0bv8); + free requires (memory_load8_le(mem, 2236bv64) == 84bv8); + free requires (memory_load8_le(mem, 2237bv64) == 104bv8); + free requires (memory_load8_le(mem, 2238bv64) == 101bv8); + free requires (memory_load8_le(mem, 2239bv64) == 32bv8); + free requires (memory_load8_le(mem, 2240bv64) == 99bv8); + free requires (memory_load8_le(mem, 2241bv64) == 104bv8); + free requires (memory_load8_le(mem, 2242bv64) == 97bv8); + free requires (memory_load8_le(mem, 2243bv64) == 114bv8); + free requires (memory_load8_le(mem, 2244bv64) == 32bv8); + free requires (memory_load8_le(mem, 2245bv64) == 105bv8); + free requires (memory_load8_le(mem, 2246bv64) == 115bv8); + free requires (memory_load8_le(mem, 2247bv64) == 58bv8); + free requires (memory_load8_le(mem, 2248bv64) == 32bv8); + free requires (memory_load8_le(mem, 2249bv64) == 37bv8); + free requires (memory_load8_le(mem, 2250bv64) == 99bv8); + free requires (memory_load8_le(mem, 2251bv64) == 10bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 84bv8); + free requires (memory_load8_le(mem, 2254bv64) == 104bv8); + free requires (memory_load8_le(mem, 2255bv64) == 101bv8); + free requires (memory_load8_le(mem, 2256bv64) == 32bv8); + free requires (memory_load8_le(mem, 2257bv64) == 105bv8); + free requires (memory_load8_le(mem, 2258bv64) == 110bv8); + free requires (memory_load8_le(mem, 2259bv64) == 116bv8); + free requires (memory_load8_le(mem, 2260bv64) == 32bv8); + free requires (memory_load8_le(mem, 2261bv64) == 105bv8); + free requires (memory_load8_le(mem, 2262bv64) == 115bv8); + free requires (memory_load8_le(mem, 2263bv64) == 58bv8); + free requires (memory_load8_le(mem, 2264bv64) == 32bv8); + free requires (memory_load8_le(mem, 2265bv64) == 37bv8); + free requires (memory_load8_le(mem, 2266bv64) == 100bv8); + free requires (memory_load8_le(mem, 2267bv64) == 10bv8); + free requires (memory_load8_le(mem, 2268bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2232bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); { var #4: bv64; var #5: bv64; @@ -277,5 +536,281 @@ procedure main() } procedure malloc(); + free requires (memory_load8_le(mem, 2232bv64) == 1bv8); + free requires (memory_load8_le(mem, 2233bv64) == 0bv8); + free requires (memory_load8_le(mem, 2234bv64) == 2bv8); + free requires (memory_load8_le(mem, 2235bv64) == 0bv8); + free requires (memory_load8_le(mem, 2236bv64) == 84bv8); + free requires (memory_load8_le(mem, 2237bv64) == 104bv8); + free requires (memory_load8_le(mem, 2238bv64) == 101bv8); + free requires (memory_load8_le(mem, 2239bv64) == 32bv8); + free requires (memory_load8_le(mem, 2240bv64) == 99bv8); + free requires (memory_load8_le(mem, 2241bv64) == 104bv8); + free requires (memory_load8_le(mem, 2242bv64) == 97bv8); + free requires (memory_load8_le(mem, 2243bv64) == 114bv8); + free requires (memory_load8_le(mem, 2244bv64) == 32bv8); + free requires (memory_load8_le(mem, 2245bv64) == 105bv8); + free requires (memory_load8_le(mem, 2246bv64) == 115bv8); + free requires (memory_load8_le(mem, 2247bv64) == 58bv8); + free requires (memory_load8_le(mem, 2248bv64) == 32bv8); + free requires (memory_load8_le(mem, 2249bv64) == 37bv8); + free requires (memory_load8_le(mem, 2250bv64) == 99bv8); + free requires (memory_load8_le(mem, 2251bv64) == 10bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 84bv8); + free requires (memory_load8_le(mem, 2254bv64) == 104bv8); + free requires (memory_load8_le(mem, 2255bv64) == 101bv8); + free requires (memory_load8_le(mem, 2256bv64) == 32bv8); + free requires (memory_load8_le(mem, 2257bv64) == 105bv8); + free requires (memory_load8_le(mem, 2258bv64) == 110bv8); + free requires (memory_load8_le(mem, 2259bv64) == 116bv8); + free requires (memory_load8_le(mem, 2260bv64) == 32bv8); + free requires (memory_load8_le(mem, 2261bv64) == 105bv8); + free requires (memory_load8_le(mem, 2262bv64) == 115bv8); + free requires (memory_load8_le(mem, 2263bv64) == 58bv8); + free requires (memory_load8_le(mem, 2264bv64) == 32bv8); + free requires (memory_load8_le(mem, 2265bv64) == 37bv8); + free requires (memory_load8_le(mem, 2266bv64) == 100bv8); + free requires (memory_load8_le(mem, 2267bv64) == 10bv8); + free requires (memory_load8_le(mem, 2268bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure printf(); + free requires (memory_load8_le(mem, 2232bv64) == 1bv8); + free requires (memory_load8_le(mem, 2233bv64) == 0bv8); + free requires (memory_load8_le(mem, 2234bv64) == 2bv8); + free requires (memory_load8_le(mem, 2235bv64) == 0bv8); + free requires (memory_load8_le(mem, 2236bv64) == 84bv8); + free requires (memory_load8_le(mem, 2237bv64) == 104bv8); + free requires (memory_load8_le(mem, 2238bv64) == 101bv8); + free requires (memory_load8_le(mem, 2239bv64) == 32bv8); + free requires (memory_load8_le(mem, 2240bv64) == 99bv8); + free requires (memory_load8_le(mem, 2241bv64) == 104bv8); + free requires (memory_load8_le(mem, 2242bv64) == 97bv8); + free requires (memory_load8_le(mem, 2243bv64) == 114bv8); + free requires (memory_load8_le(mem, 2244bv64) == 32bv8); + free requires (memory_load8_le(mem, 2245bv64) == 105bv8); + free requires (memory_load8_le(mem, 2246bv64) == 115bv8); + free requires (memory_load8_le(mem, 2247bv64) == 58bv8); + free requires (memory_load8_le(mem, 2248bv64) == 32bv8); + free requires (memory_load8_le(mem, 2249bv64) == 37bv8); + free requires (memory_load8_le(mem, 2250bv64) == 99bv8); + free requires (memory_load8_le(mem, 2251bv64) == 10bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 84bv8); + free requires (memory_load8_le(mem, 2254bv64) == 104bv8); + free requires (memory_load8_le(mem, 2255bv64) == 101bv8); + free requires (memory_load8_le(mem, 2256bv64) == 32bv8); + free requires (memory_load8_le(mem, 2257bv64) == 105bv8); + free requires (memory_load8_le(mem, 2258bv64) == 110bv8); + free requires (memory_load8_le(mem, 2259bv64) == 116bv8); + free requires (memory_load8_le(mem, 2260bv64) == 32bv8); + free requires (memory_load8_le(mem, 2261bv64) == 105bv8); + free requires (memory_load8_le(mem, 2262bv64) == 115bv8); + free requires (memory_load8_le(mem, 2263bv64) == 58bv8); + free requires (memory_load8_le(mem, 2264bv64) == 32bv8); + free requires (memory_load8_le(mem, 2265bv64) == 37bv8); + free requires (memory_load8_le(mem, 2266bv64) == 100bv8); + free requires (memory_load8_le(mem, 2267bv64) == 10bv8); + free requires (memory_load8_le(mem, 2268bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); diff --git a/src/test/correct/multi_malloc/clang_pic/multi_malloc.expected b/src/test/correct/multi_malloc/clang_pic/multi_malloc.expected index 677ac040b..beb67f8f2 100644 --- a/src/test/correct/multi_malloc/clang_pic/multi_malloc.expected +++ b/src/test/correct/multi_malloc/clang_pic/multi_malloc.expected @@ -75,9 +75,77 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2232bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -94,9 +162,6 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure #free(); - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 2232bv64) == 1bv8); free requires (memory_load8_le(mem, 2233bv64) == 0bv8); free requires (memory_load8_le(mem, 2234bv64) == 2bv8); @@ -134,38 +199,22 @@ procedure main() free requires (memory_load8_le(mem, 2266bv64) == 100bv8); free requires (memory_load8_le(mem, 2267bv64) == 10bv8); free requires (memory_load8_le(mem, 2268bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 8bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -174,14 +223,86 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 69688bv64) == 0bv8); free requires (memory_load8_le(mem, 69689bv64) == 0bv8); free requires (memory_load8_le(mem, 69690bv64) == 0bv8); @@ -198,10 +319,148 @@ procedure main() free requires (memory_load8_le(mem, 69701bv64) == 0bv8); free requires (memory_load8_le(mem, 69702bv64) == 0bv8); free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free requires (memory_load8_le(mem, 2232bv64) == 1bv8); + free requires (memory_load8_le(mem, 2233bv64) == 0bv8); + free requires (memory_load8_le(mem, 2234bv64) == 2bv8); + free requires (memory_load8_le(mem, 2235bv64) == 0bv8); + free requires (memory_load8_le(mem, 2236bv64) == 84bv8); + free requires (memory_load8_le(mem, 2237bv64) == 104bv8); + free requires (memory_load8_le(mem, 2238bv64) == 101bv8); + free requires (memory_load8_le(mem, 2239bv64) == 32bv8); + free requires (memory_load8_le(mem, 2240bv64) == 99bv8); + free requires (memory_load8_le(mem, 2241bv64) == 104bv8); + free requires (memory_load8_le(mem, 2242bv64) == 97bv8); + free requires (memory_load8_le(mem, 2243bv64) == 114bv8); + free requires (memory_load8_le(mem, 2244bv64) == 32bv8); + free requires (memory_load8_le(mem, 2245bv64) == 105bv8); + free requires (memory_load8_le(mem, 2246bv64) == 115bv8); + free requires (memory_load8_le(mem, 2247bv64) == 58bv8); + free requires (memory_load8_le(mem, 2248bv64) == 32bv8); + free requires (memory_load8_le(mem, 2249bv64) == 37bv8); + free requires (memory_load8_le(mem, 2250bv64) == 99bv8); + free requires (memory_load8_le(mem, 2251bv64) == 10bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 84bv8); + free requires (memory_load8_le(mem, 2254bv64) == 104bv8); + free requires (memory_load8_le(mem, 2255bv64) == 101bv8); + free requires (memory_load8_le(mem, 2256bv64) == 32bv8); + free requires (memory_load8_le(mem, 2257bv64) == 105bv8); + free requires (memory_load8_le(mem, 2258bv64) == 110bv8); + free requires (memory_load8_le(mem, 2259bv64) == 116bv8); + free requires (memory_load8_le(mem, 2260bv64) == 32bv8); + free requires (memory_load8_le(mem, 2261bv64) == 105bv8); + free requires (memory_load8_le(mem, 2262bv64) == 115bv8); + free requires (memory_load8_le(mem, 2263bv64) == 58bv8); + free requires (memory_load8_le(mem, 2264bv64) == 32bv8); + free requires (memory_load8_le(mem, 2265bv64) == 37bv8); + free requires (memory_load8_le(mem, 2266bv64) == 100bv8); + free requires (memory_load8_le(mem, 2267bv64) == 10bv8); + free requires (memory_load8_le(mem, 2268bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2232bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); { var #4: bv64; var #5: bv64; @@ -277,5 +536,281 @@ procedure main() } procedure malloc(); + free requires (memory_load8_le(mem, 2232bv64) == 1bv8); + free requires (memory_load8_le(mem, 2233bv64) == 0bv8); + free requires (memory_load8_le(mem, 2234bv64) == 2bv8); + free requires (memory_load8_le(mem, 2235bv64) == 0bv8); + free requires (memory_load8_le(mem, 2236bv64) == 84bv8); + free requires (memory_load8_le(mem, 2237bv64) == 104bv8); + free requires (memory_load8_le(mem, 2238bv64) == 101bv8); + free requires (memory_load8_le(mem, 2239bv64) == 32bv8); + free requires (memory_load8_le(mem, 2240bv64) == 99bv8); + free requires (memory_load8_le(mem, 2241bv64) == 104bv8); + free requires (memory_load8_le(mem, 2242bv64) == 97bv8); + free requires (memory_load8_le(mem, 2243bv64) == 114bv8); + free requires (memory_load8_le(mem, 2244bv64) == 32bv8); + free requires (memory_load8_le(mem, 2245bv64) == 105bv8); + free requires (memory_load8_le(mem, 2246bv64) == 115bv8); + free requires (memory_load8_le(mem, 2247bv64) == 58bv8); + free requires (memory_load8_le(mem, 2248bv64) == 32bv8); + free requires (memory_load8_le(mem, 2249bv64) == 37bv8); + free requires (memory_load8_le(mem, 2250bv64) == 99bv8); + free requires (memory_load8_le(mem, 2251bv64) == 10bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 84bv8); + free requires (memory_load8_le(mem, 2254bv64) == 104bv8); + free requires (memory_load8_le(mem, 2255bv64) == 101bv8); + free requires (memory_load8_le(mem, 2256bv64) == 32bv8); + free requires (memory_load8_le(mem, 2257bv64) == 105bv8); + free requires (memory_load8_le(mem, 2258bv64) == 110bv8); + free requires (memory_load8_le(mem, 2259bv64) == 116bv8); + free requires (memory_load8_le(mem, 2260bv64) == 32bv8); + free requires (memory_load8_le(mem, 2261bv64) == 105bv8); + free requires (memory_load8_le(mem, 2262bv64) == 115bv8); + free requires (memory_load8_le(mem, 2263bv64) == 58bv8); + free requires (memory_load8_le(mem, 2264bv64) == 32bv8); + free requires (memory_load8_le(mem, 2265bv64) == 37bv8); + free requires (memory_load8_le(mem, 2266bv64) == 100bv8); + free requires (memory_load8_le(mem, 2267bv64) == 10bv8); + free requires (memory_load8_le(mem, 2268bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure printf(); + free requires (memory_load8_le(mem, 2232bv64) == 1bv8); + free requires (memory_load8_le(mem, 2233bv64) == 0bv8); + free requires (memory_load8_le(mem, 2234bv64) == 2bv8); + free requires (memory_load8_le(mem, 2235bv64) == 0bv8); + free requires (memory_load8_le(mem, 2236bv64) == 84bv8); + free requires (memory_load8_le(mem, 2237bv64) == 104bv8); + free requires (memory_load8_le(mem, 2238bv64) == 101bv8); + free requires (memory_load8_le(mem, 2239bv64) == 32bv8); + free requires (memory_load8_le(mem, 2240bv64) == 99bv8); + free requires (memory_load8_le(mem, 2241bv64) == 104bv8); + free requires (memory_load8_le(mem, 2242bv64) == 97bv8); + free requires (memory_load8_le(mem, 2243bv64) == 114bv8); + free requires (memory_load8_le(mem, 2244bv64) == 32bv8); + free requires (memory_load8_le(mem, 2245bv64) == 105bv8); + free requires (memory_load8_le(mem, 2246bv64) == 115bv8); + free requires (memory_load8_le(mem, 2247bv64) == 58bv8); + free requires (memory_load8_le(mem, 2248bv64) == 32bv8); + free requires (memory_load8_le(mem, 2249bv64) == 37bv8); + free requires (memory_load8_le(mem, 2250bv64) == 99bv8); + free requires (memory_load8_le(mem, 2251bv64) == 10bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 84bv8); + free requires (memory_load8_le(mem, 2254bv64) == 104bv8); + free requires (memory_load8_le(mem, 2255bv64) == 101bv8); + free requires (memory_load8_le(mem, 2256bv64) == 32bv8); + free requires (memory_load8_le(mem, 2257bv64) == 105bv8); + free requires (memory_load8_le(mem, 2258bv64) == 110bv8); + free requires (memory_load8_le(mem, 2259bv64) == 116bv8); + free requires (memory_load8_le(mem, 2260bv64) == 32bv8); + free requires (memory_load8_le(mem, 2261bv64) == 105bv8); + free requires (memory_load8_le(mem, 2262bv64) == 115bv8); + free requires (memory_load8_le(mem, 2263bv64) == 58bv8); + free requires (memory_load8_le(mem, 2264bv64) == 32bv8); + free requires (memory_load8_le(mem, 2265bv64) == 37bv8); + free requires (memory_load8_le(mem, 2266bv64) == 100bv8); + free requires (memory_load8_le(mem, 2267bv64) == 10bv8); + free requires (memory_load8_le(mem, 2268bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); diff --git a/src/test/correct/multi_malloc/gcc/multi_malloc.expected b/src/test/correct/multi_malloc/gcc/multi_malloc.expected index 1de95aaa9..f3a3e841b 100644 --- a/src/test/correct/multi_malloc/gcc/multi_malloc.expected +++ b/src/test/correct/multi_malloc/gcc/multi_malloc.expected @@ -71,9 +71,88 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2224bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2225bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2226bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2227bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2228bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2229bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2230bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2231bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -90,9 +169,6 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure #free(); - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 2224bv64) == 1bv8); free requires (memory_load8_le(mem, 2225bv64) == 0bv8); free requires (memory_load8_le(mem, 2226bv64) == 2bv8); @@ -141,118 +217,22 @@ procedure main() free requires (memory_load8_le(mem, 2269bv64) == 100bv8); free requires (memory_load8_le(mem, 2270bv64) == 10bv8); free requires (memory_load8_le(mem, 2271bv64) == 0bv8); - free requires (memory_load8_le(mem, 69504bv64) == 0bv8); - free requires (memory_load8_le(mem, 69505bv64) == 0bv8); - free requires (memory_load8_le(mem, 69506bv64) == 0bv8); - free requires (memory_load8_le(mem, 69507bv64) == 0bv8); - free requires (memory_load8_le(mem, 69508bv64) == 0bv8); - free requires (memory_load8_le(mem, 69509bv64) == 0bv8); - free requires (memory_load8_le(mem, 69510bv64) == 0bv8); - free requires (memory_load8_le(mem, 69511bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 64bv8); - free requires (memory_load8_le(mem, 69529bv64) == 6bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 64bv8); - free requires (memory_load8_le(mem, 69537bv64) == 6bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 64bv8); - free requires (memory_load8_le(mem, 69545bv64) == 6bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 64bv8); - free requires (memory_load8_le(mem, 69553bv64) == 6bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 64bv8); - free requires (memory_load8_le(mem, 69561bv64) == 6bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 64bv8); - free requires (memory_load8_le(mem, 69569bv64) == 6bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 64bv8); - free requires (memory_load8_le(mem, 69577bv64) == 6bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 144bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 8bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -261,14 +241,97 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2224bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2225bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2226bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2227bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2228bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2229bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2230bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2231bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -285,10 +348,170 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 2224bv64) == 1bv8); + free requires (memory_load8_le(mem, 2225bv64) == 0bv8); + free requires (memory_load8_le(mem, 2226bv64) == 2bv8); + free requires (memory_load8_le(mem, 2227bv64) == 0bv8); + free requires (memory_load8_le(mem, 2228bv64) == 0bv8); + free requires (memory_load8_le(mem, 2229bv64) == 0bv8); + free requires (memory_load8_le(mem, 2230bv64) == 0bv8); + free requires (memory_load8_le(mem, 2231bv64) == 0bv8); + free requires (memory_load8_le(mem, 2232bv64) == 84bv8); + free requires (memory_load8_le(mem, 2233bv64) == 104bv8); + free requires (memory_load8_le(mem, 2234bv64) == 101bv8); + free requires (memory_load8_le(mem, 2235bv64) == 32bv8); + free requires (memory_load8_le(mem, 2236bv64) == 99bv8); + free requires (memory_load8_le(mem, 2237bv64) == 104bv8); + free requires (memory_load8_le(mem, 2238bv64) == 97bv8); + free requires (memory_load8_le(mem, 2239bv64) == 114bv8); + free requires (memory_load8_le(mem, 2240bv64) == 32bv8); + free requires (memory_load8_le(mem, 2241bv64) == 105bv8); + free requires (memory_load8_le(mem, 2242bv64) == 115bv8); + free requires (memory_load8_le(mem, 2243bv64) == 58bv8); + free requires (memory_load8_le(mem, 2244bv64) == 32bv8); + free requires (memory_load8_le(mem, 2245bv64) == 37bv8); + free requires (memory_load8_le(mem, 2246bv64) == 99bv8); + free requires (memory_load8_le(mem, 2247bv64) == 10bv8); + free requires (memory_load8_le(mem, 2248bv64) == 0bv8); + free requires (memory_load8_le(mem, 2249bv64) == 0bv8); + free requires (memory_load8_le(mem, 2250bv64) == 0bv8); + free requires (memory_load8_le(mem, 2251bv64) == 0bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 0bv8); + free requires (memory_load8_le(mem, 2254bv64) == 0bv8); + free requires (memory_load8_le(mem, 2255bv64) == 0bv8); + free requires (memory_load8_le(mem, 2256bv64) == 84bv8); + free requires (memory_load8_le(mem, 2257bv64) == 104bv8); + free requires (memory_load8_le(mem, 2258bv64) == 101bv8); + free requires (memory_load8_le(mem, 2259bv64) == 32bv8); + free requires (memory_load8_le(mem, 2260bv64) == 105bv8); + free requires (memory_load8_le(mem, 2261bv64) == 110bv8); + free requires (memory_load8_le(mem, 2262bv64) == 116bv8); + free requires (memory_load8_le(mem, 2263bv64) == 32bv8); + free requires (memory_load8_le(mem, 2264bv64) == 105bv8); + free requires (memory_load8_le(mem, 2265bv64) == 115bv8); + free requires (memory_load8_le(mem, 2266bv64) == 58bv8); + free requires (memory_load8_le(mem, 2267bv64) == 32bv8); + free requires (memory_load8_le(mem, 2268bv64) == 37bv8); + free requires (memory_load8_le(mem, 2269bv64) == 100bv8); + free requires (memory_load8_le(mem, 2270bv64) == 10bv8); + free requires (memory_load8_le(mem, 2271bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2224bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2225bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2226bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2227bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2228bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2229bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2230bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2231bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -360,5 +583,325 @@ procedure main() } procedure malloc(); + free requires (memory_load8_le(mem, 2224bv64) == 1bv8); + free requires (memory_load8_le(mem, 2225bv64) == 0bv8); + free requires (memory_load8_le(mem, 2226bv64) == 2bv8); + free requires (memory_load8_le(mem, 2227bv64) == 0bv8); + free requires (memory_load8_le(mem, 2228bv64) == 0bv8); + free requires (memory_load8_le(mem, 2229bv64) == 0bv8); + free requires (memory_load8_le(mem, 2230bv64) == 0bv8); + free requires (memory_load8_le(mem, 2231bv64) == 0bv8); + free requires (memory_load8_le(mem, 2232bv64) == 84bv8); + free requires (memory_load8_le(mem, 2233bv64) == 104bv8); + free requires (memory_load8_le(mem, 2234bv64) == 101bv8); + free requires (memory_load8_le(mem, 2235bv64) == 32bv8); + free requires (memory_load8_le(mem, 2236bv64) == 99bv8); + free requires (memory_load8_le(mem, 2237bv64) == 104bv8); + free requires (memory_load8_le(mem, 2238bv64) == 97bv8); + free requires (memory_load8_le(mem, 2239bv64) == 114bv8); + free requires (memory_load8_le(mem, 2240bv64) == 32bv8); + free requires (memory_load8_le(mem, 2241bv64) == 105bv8); + free requires (memory_load8_le(mem, 2242bv64) == 115bv8); + free requires (memory_load8_le(mem, 2243bv64) == 58bv8); + free requires (memory_load8_le(mem, 2244bv64) == 32bv8); + free requires (memory_load8_le(mem, 2245bv64) == 37bv8); + free requires (memory_load8_le(mem, 2246bv64) == 99bv8); + free requires (memory_load8_le(mem, 2247bv64) == 10bv8); + free requires (memory_load8_le(mem, 2248bv64) == 0bv8); + free requires (memory_load8_le(mem, 2249bv64) == 0bv8); + free requires (memory_load8_le(mem, 2250bv64) == 0bv8); + free requires (memory_load8_le(mem, 2251bv64) == 0bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 0bv8); + free requires (memory_load8_le(mem, 2254bv64) == 0bv8); + free requires (memory_load8_le(mem, 2255bv64) == 0bv8); + free requires (memory_load8_le(mem, 2256bv64) == 84bv8); + free requires (memory_load8_le(mem, 2257bv64) == 104bv8); + free requires (memory_load8_le(mem, 2258bv64) == 101bv8); + free requires (memory_load8_le(mem, 2259bv64) == 32bv8); + free requires (memory_load8_le(mem, 2260bv64) == 105bv8); + free requires (memory_load8_le(mem, 2261bv64) == 110bv8); + free requires (memory_load8_le(mem, 2262bv64) == 116bv8); + free requires (memory_load8_le(mem, 2263bv64) == 32bv8); + free requires (memory_load8_le(mem, 2264bv64) == 105bv8); + free requires (memory_load8_le(mem, 2265bv64) == 115bv8); + free requires (memory_load8_le(mem, 2266bv64) == 58bv8); + free requires (memory_load8_le(mem, 2267bv64) == 32bv8); + free requires (memory_load8_le(mem, 2268bv64) == 37bv8); + free requires (memory_load8_le(mem, 2269bv64) == 100bv8); + free requires (memory_load8_le(mem, 2270bv64) == 10bv8); + free requires (memory_load8_le(mem, 2271bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2224bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2225bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2226bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2227bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2228bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2229bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2230bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2231bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure printf(); + free requires (memory_load8_le(mem, 2224bv64) == 1bv8); + free requires (memory_load8_le(mem, 2225bv64) == 0bv8); + free requires (memory_load8_le(mem, 2226bv64) == 2bv8); + free requires (memory_load8_le(mem, 2227bv64) == 0bv8); + free requires (memory_load8_le(mem, 2228bv64) == 0bv8); + free requires (memory_load8_le(mem, 2229bv64) == 0bv8); + free requires (memory_load8_le(mem, 2230bv64) == 0bv8); + free requires (memory_load8_le(mem, 2231bv64) == 0bv8); + free requires (memory_load8_le(mem, 2232bv64) == 84bv8); + free requires (memory_load8_le(mem, 2233bv64) == 104bv8); + free requires (memory_load8_le(mem, 2234bv64) == 101bv8); + free requires (memory_load8_le(mem, 2235bv64) == 32bv8); + free requires (memory_load8_le(mem, 2236bv64) == 99bv8); + free requires (memory_load8_le(mem, 2237bv64) == 104bv8); + free requires (memory_load8_le(mem, 2238bv64) == 97bv8); + free requires (memory_load8_le(mem, 2239bv64) == 114bv8); + free requires (memory_load8_le(mem, 2240bv64) == 32bv8); + free requires (memory_load8_le(mem, 2241bv64) == 105bv8); + free requires (memory_load8_le(mem, 2242bv64) == 115bv8); + free requires (memory_load8_le(mem, 2243bv64) == 58bv8); + free requires (memory_load8_le(mem, 2244bv64) == 32bv8); + free requires (memory_load8_le(mem, 2245bv64) == 37bv8); + free requires (memory_load8_le(mem, 2246bv64) == 99bv8); + free requires (memory_load8_le(mem, 2247bv64) == 10bv8); + free requires (memory_load8_le(mem, 2248bv64) == 0bv8); + free requires (memory_load8_le(mem, 2249bv64) == 0bv8); + free requires (memory_load8_le(mem, 2250bv64) == 0bv8); + free requires (memory_load8_le(mem, 2251bv64) == 0bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 0bv8); + free requires (memory_load8_le(mem, 2254bv64) == 0bv8); + free requires (memory_load8_le(mem, 2255bv64) == 0bv8); + free requires (memory_load8_le(mem, 2256bv64) == 84bv8); + free requires (memory_load8_le(mem, 2257bv64) == 104bv8); + free requires (memory_load8_le(mem, 2258bv64) == 101bv8); + free requires (memory_load8_le(mem, 2259bv64) == 32bv8); + free requires (memory_load8_le(mem, 2260bv64) == 105bv8); + free requires (memory_load8_le(mem, 2261bv64) == 110bv8); + free requires (memory_load8_le(mem, 2262bv64) == 116bv8); + free requires (memory_load8_le(mem, 2263bv64) == 32bv8); + free requires (memory_load8_le(mem, 2264bv64) == 105bv8); + free requires (memory_load8_le(mem, 2265bv64) == 115bv8); + free requires (memory_load8_le(mem, 2266bv64) == 58bv8); + free requires (memory_load8_le(mem, 2267bv64) == 32bv8); + free requires (memory_load8_le(mem, 2268bv64) == 37bv8); + free requires (memory_load8_le(mem, 2269bv64) == 100bv8); + free requires (memory_load8_le(mem, 2270bv64) == 10bv8); + free requires (memory_load8_le(mem, 2271bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2224bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2225bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2226bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2227bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2228bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2229bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2230bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2231bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); diff --git a/src/test/correct/multi_malloc/gcc_O2/multi_malloc.expected b/src/test/correct/multi_malloc/gcc_O2/multi_malloc.expected index ed74211ad..854b6297c 100644 --- a/src/test/correct/multi_malloc/gcc_O2/multi_malloc.expected +++ b/src/test/correct/multi_malloc/gcc_O2/multi_malloc.expected @@ -43,9 +43,88 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2024bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2032bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2033bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2034bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2035bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2036bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2037bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2038bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2039bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2040bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2041bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2042bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2043bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2044bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2045bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2046bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2047bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2048bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2049bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2056bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2057bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2058bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2059bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2060bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2061bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2062bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2063bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2064bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2065bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2066bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2067bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2068bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2069bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2070bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -62,9 +141,6 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure __printf_chk(); - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R2, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R1, R2, R29, R30, R31, stack; free requires (memory_load8_le(mem, 2024bv64) == 1bv8); free requires (memory_load8_le(mem, 2025bv64) == 0bv8); free requires (memory_load8_le(mem, 2026bv64) == 2bv8); @@ -113,102 +189,22 @@ procedure main() free requires (memory_load8_le(mem, 2069bv64) == 100bv8); free requires (memory_load8_le(mem, 2070bv64) == 10bv8); free requires (memory_load8_le(mem, 2071bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 224bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 224bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 224bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 224bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 224bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 160bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 208bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 128bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 128bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -217,14 +213,97 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2024bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2032bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2033bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2034bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2035bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2036bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2037bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2038bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2039bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2040bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2041bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2042bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2043bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2044bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2045bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2046bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2047bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2048bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2049bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2056bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2057bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2058bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2059bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2060bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2061bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2062bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2063bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2064bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2065bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2066bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2067bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2068bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2069bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2070bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R2, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R1, R2, R29, R30, R31, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -241,10 +320,170 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 2024bv64) == 1bv8); + free requires (memory_load8_le(mem, 2025bv64) == 0bv8); + free requires (memory_load8_le(mem, 2026bv64) == 2bv8); + free requires (memory_load8_le(mem, 2027bv64) == 0bv8); + free requires (memory_load8_le(mem, 2028bv64) == 0bv8); + free requires (memory_load8_le(mem, 2029bv64) == 0bv8); + free requires (memory_load8_le(mem, 2030bv64) == 0bv8); + free requires (memory_load8_le(mem, 2031bv64) == 0bv8); + free requires (memory_load8_le(mem, 2032bv64) == 84bv8); + free requires (memory_load8_le(mem, 2033bv64) == 104bv8); + free requires (memory_load8_le(mem, 2034bv64) == 101bv8); + free requires (memory_load8_le(mem, 2035bv64) == 32bv8); + free requires (memory_load8_le(mem, 2036bv64) == 99bv8); + free requires (memory_load8_le(mem, 2037bv64) == 104bv8); + free requires (memory_load8_le(mem, 2038bv64) == 97bv8); + free requires (memory_load8_le(mem, 2039bv64) == 114bv8); + free requires (memory_load8_le(mem, 2040bv64) == 32bv8); + free requires (memory_load8_le(mem, 2041bv64) == 105bv8); + free requires (memory_load8_le(mem, 2042bv64) == 115bv8); + free requires (memory_load8_le(mem, 2043bv64) == 58bv8); + free requires (memory_load8_le(mem, 2044bv64) == 32bv8); + free requires (memory_load8_le(mem, 2045bv64) == 37bv8); + free requires (memory_load8_le(mem, 2046bv64) == 99bv8); + free requires (memory_load8_le(mem, 2047bv64) == 10bv8); + free requires (memory_load8_le(mem, 2048bv64) == 0bv8); + free requires (memory_load8_le(mem, 2049bv64) == 0bv8); + free requires (memory_load8_le(mem, 2050bv64) == 0bv8); + free requires (memory_load8_le(mem, 2051bv64) == 0bv8); + free requires (memory_load8_le(mem, 2052bv64) == 0bv8); + free requires (memory_load8_le(mem, 2053bv64) == 0bv8); + free requires (memory_load8_le(mem, 2054bv64) == 0bv8); + free requires (memory_load8_le(mem, 2055bv64) == 0bv8); + free requires (memory_load8_le(mem, 2056bv64) == 84bv8); + free requires (memory_load8_le(mem, 2057bv64) == 104bv8); + free requires (memory_load8_le(mem, 2058bv64) == 101bv8); + free requires (memory_load8_le(mem, 2059bv64) == 32bv8); + free requires (memory_load8_le(mem, 2060bv64) == 105bv8); + free requires (memory_load8_le(mem, 2061bv64) == 110bv8); + free requires (memory_load8_le(mem, 2062bv64) == 116bv8); + free requires (memory_load8_le(mem, 2063bv64) == 32bv8); + free requires (memory_load8_le(mem, 2064bv64) == 105bv8); + free requires (memory_load8_le(mem, 2065bv64) == 115bv8); + free requires (memory_load8_le(mem, 2066bv64) == 58bv8); + free requires (memory_load8_le(mem, 2067bv64) == 32bv8); + free requires (memory_load8_le(mem, 2068bv64) == 37bv8); + free requires (memory_load8_le(mem, 2069bv64) == 100bv8); + free requires (memory_load8_le(mem, 2070bv64) == 10bv8); + free requires (memory_load8_le(mem, 2071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 208bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 128bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 128bv8); + free requires (memory_load8_le(mem, 69617bv64) == 6bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2024bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2032bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2033bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2034bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2035bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2036bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2037bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2038bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2039bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2040bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2041bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2042bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2043bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2044bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2045bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2046bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2047bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2048bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2049bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2056bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2057bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2058bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2059bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2060bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2061bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2062bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2063bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2064bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2065bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2066bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2067bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2068bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2069bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2070bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #1: bv64; var Gamma_#1: bool; diff --git a/src/test/correct/multi_malloc/gcc_no_plt_no_pic/multi_malloc.expected b/src/test/correct/multi_malloc/gcc_no_plt_no_pic/multi_malloc.expected index 1b55a1749..5ed00b6aa 100644 --- a/src/test/correct/multi_malloc/gcc_no_plt_no_pic/multi_malloc.expected +++ b/src/test/correct/multi_malloc/gcc_no_plt_no_pic/multi_malloc.expected @@ -71,9 +71,88 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2224bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2225bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2226bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2227bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2228bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2229bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2230bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2231bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -90,9 +169,6 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure #free(); - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 2224bv64) == 1bv8); free requires (memory_load8_le(mem, 2225bv64) == 0bv8); free requires (memory_load8_le(mem, 2226bv64) == 2bv8); @@ -141,118 +217,22 @@ procedure main() free requires (memory_load8_le(mem, 2269bv64) == 100bv8); free requires (memory_load8_le(mem, 2270bv64) == 10bv8); free requires (memory_load8_le(mem, 2271bv64) == 0bv8); - free requires (memory_load8_le(mem, 69504bv64) == 0bv8); - free requires (memory_load8_le(mem, 69505bv64) == 0bv8); - free requires (memory_load8_le(mem, 69506bv64) == 0bv8); - free requires (memory_load8_le(mem, 69507bv64) == 0bv8); - free requires (memory_load8_le(mem, 69508bv64) == 0bv8); - free requires (memory_load8_le(mem, 69509bv64) == 0bv8); - free requires (memory_load8_le(mem, 69510bv64) == 0bv8); - free requires (memory_load8_le(mem, 69511bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 64bv8); - free requires (memory_load8_le(mem, 69529bv64) == 6bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 64bv8); - free requires (memory_load8_le(mem, 69537bv64) == 6bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 64bv8); - free requires (memory_load8_le(mem, 69545bv64) == 6bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 64bv8); - free requires (memory_load8_le(mem, 69553bv64) == 6bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 64bv8); - free requires (memory_load8_le(mem, 69561bv64) == 6bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 64bv8); - free requires (memory_load8_le(mem, 69569bv64) == 6bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 64bv8); - free requires (memory_load8_le(mem, 69577bv64) == 6bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 144bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 8bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -261,14 +241,97 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2224bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2225bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2226bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2227bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2228bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2229bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2230bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2231bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -285,10 +348,170 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 2224bv64) == 1bv8); + free requires (memory_load8_le(mem, 2225bv64) == 0bv8); + free requires (memory_load8_le(mem, 2226bv64) == 2bv8); + free requires (memory_load8_le(mem, 2227bv64) == 0bv8); + free requires (memory_load8_le(mem, 2228bv64) == 0bv8); + free requires (memory_load8_le(mem, 2229bv64) == 0bv8); + free requires (memory_load8_le(mem, 2230bv64) == 0bv8); + free requires (memory_load8_le(mem, 2231bv64) == 0bv8); + free requires (memory_load8_le(mem, 2232bv64) == 84bv8); + free requires (memory_load8_le(mem, 2233bv64) == 104bv8); + free requires (memory_load8_le(mem, 2234bv64) == 101bv8); + free requires (memory_load8_le(mem, 2235bv64) == 32bv8); + free requires (memory_load8_le(mem, 2236bv64) == 99bv8); + free requires (memory_load8_le(mem, 2237bv64) == 104bv8); + free requires (memory_load8_le(mem, 2238bv64) == 97bv8); + free requires (memory_load8_le(mem, 2239bv64) == 114bv8); + free requires (memory_load8_le(mem, 2240bv64) == 32bv8); + free requires (memory_load8_le(mem, 2241bv64) == 105bv8); + free requires (memory_load8_le(mem, 2242bv64) == 115bv8); + free requires (memory_load8_le(mem, 2243bv64) == 58bv8); + free requires (memory_load8_le(mem, 2244bv64) == 32bv8); + free requires (memory_load8_le(mem, 2245bv64) == 37bv8); + free requires (memory_load8_le(mem, 2246bv64) == 99bv8); + free requires (memory_load8_le(mem, 2247bv64) == 10bv8); + free requires (memory_load8_le(mem, 2248bv64) == 0bv8); + free requires (memory_load8_le(mem, 2249bv64) == 0bv8); + free requires (memory_load8_le(mem, 2250bv64) == 0bv8); + free requires (memory_load8_le(mem, 2251bv64) == 0bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 0bv8); + free requires (memory_load8_le(mem, 2254bv64) == 0bv8); + free requires (memory_load8_le(mem, 2255bv64) == 0bv8); + free requires (memory_load8_le(mem, 2256bv64) == 84bv8); + free requires (memory_load8_le(mem, 2257bv64) == 104bv8); + free requires (memory_load8_le(mem, 2258bv64) == 101bv8); + free requires (memory_load8_le(mem, 2259bv64) == 32bv8); + free requires (memory_load8_le(mem, 2260bv64) == 105bv8); + free requires (memory_load8_le(mem, 2261bv64) == 110bv8); + free requires (memory_load8_le(mem, 2262bv64) == 116bv8); + free requires (memory_load8_le(mem, 2263bv64) == 32bv8); + free requires (memory_load8_le(mem, 2264bv64) == 105bv8); + free requires (memory_load8_le(mem, 2265bv64) == 115bv8); + free requires (memory_load8_le(mem, 2266bv64) == 58bv8); + free requires (memory_load8_le(mem, 2267bv64) == 32bv8); + free requires (memory_load8_le(mem, 2268bv64) == 37bv8); + free requires (memory_load8_le(mem, 2269bv64) == 100bv8); + free requires (memory_load8_le(mem, 2270bv64) == 10bv8); + free requires (memory_load8_le(mem, 2271bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2224bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2225bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2226bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2227bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2228bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2229bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2230bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2231bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -360,5 +583,325 @@ procedure main() } procedure malloc(); + free requires (memory_load8_le(mem, 2224bv64) == 1bv8); + free requires (memory_load8_le(mem, 2225bv64) == 0bv8); + free requires (memory_load8_le(mem, 2226bv64) == 2bv8); + free requires (memory_load8_le(mem, 2227bv64) == 0bv8); + free requires (memory_load8_le(mem, 2228bv64) == 0bv8); + free requires (memory_load8_le(mem, 2229bv64) == 0bv8); + free requires (memory_load8_le(mem, 2230bv64) == 0bv8); + free requires (memory_load8_le(mem, 2231bv64) == 0bv8); + free requires (memory_load8_le(mem, 2232bv64) == 84bv8); + free requires (memory_load8_le(mem, 2233bv64) == 104bv8); + free requires (memory_load8_le(mem, 2234bv64) == 101bv8); + free requires (memory_load8_le(mem, 2235bv64) == 32bv8); + free requires (memory_load8_le(mem, 2236bv64) == 99bv8); + free requires (memory_load8_le(mem, 2237bv64) == 104bv8); + free requires (memory_load8_le(mem, 2238bv64) == 97bv8); + free requires (memory_load8_le(mem, 2239bv64) == 114bv8); + free requires (memory_load8_le(mem, 2240bv64) == 32bv8); + free requires (memory_load8_le(mem, 2241bv64) == 105bv8); + free requires (memory_load8_le(mem, 2242bv64) == 115bv8); + free requires (memory_load8_le(mem, 2243bv64) == 58bv8); + free requires (memory_load8_le(mem, 2244bv64) == 32bv8); + free requires (memory_load8_le(mem, 2245bv64) == 37bv8); + free requires (memory_load8_le(mem, 2246bv64) == 99bv8); + free requires (memory_load8_le(mem, 2247bv64) == 10bv8); + free requires (memory_load8_le(mem, 2248bv64) == 0bv8); + free requires (memory_load8_le(mem, 2249bv64) == 0bv8); + free requires (memory_load8_le(mem, 2250bv64) == 0bv8); + free requires (memory_load8_le(mem, 2251bv64) == 0bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 0bv8); + free requires (memory_load8_le(mem, 2254bv64) == 0bv8); + free requires (memory_load8_le(mem, 2255bv64) == 0bv8); + free requires (memory_load8_le(mem, 2256bv64) == 84bv8); + free requires (memory_load8_le(mem, 2257bv64) == 104bv8); + free requires (memory_load8_le(mem, 2258bv64) == 101bv8); + free requires (memory_load8_le(mem, 2259bv64) == 32bv8); + free requires (memory_load8_le(mem, 2260bv64) == 105bv8); + free requires (memory_load8_le(mem, 2261bv64) == 110bv8); + free requires (memory_load8_le(mem, 2262bv64) == 116bv8); + free requires (memory_load8_le(mem, 2263bv64) == 32bv8); + free requires (memory_load8_le(mem, 2264bv64) == 105bv8); + free requires (memory_load8_le(mem, 2265bv64) == 115bv8); + free requires (memory_load8_le(mem, 2266bv64) == 58bv8); + free requires (memory_load8_le(mem, 2267bv64) == 32bv8); + free requires (memory_load8_le(mem, 2268bv64) == 37bv8); + free requires (memory_load8_le(mem, 2269bv64) == 100bv8); + free requires (memory_load8_le(mem, 2270bv64) == 10bv8); + free requires (memory_load8_le(mem, 2271bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2224bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2225bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2226bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2227bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2228bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2229bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2230bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2231bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure printf(); + free requires (memory_load8_le(mem, 2224bv64) == 1bv8); + free requires (memory_load8_le(mem, 2225bv64) == 0bv8); + free requires (memory_load8_le(mem, 2226bv64) == 2bv8); + free requires (memory_load8_le(mem, 2227bv64) == 0bv8); + free requires (memory_load8_le(mem, 2228bv64) == 0bv8); + free requires (memory_load8_le(mem, 2229bv64) == 0bv8); + free requires (memory_load8_le(mem, 2230bv64) == 0bv8); + free requires (memory_load8_le(mem, 2231bv64) == 0bv8); + free requires (memory_load8_le(mem, 2232bv64) == 84bv8); + free requires (memory_load8_le(mem, 2233bv64) == 104bv8); + free requires (memory_load8_le(mem, 2234bv64) == 101bv8); + free requires (memory_load8_le(mem, 2235bv64) == 32bv8); + free requires (memory_load8_le(mem, 2236bv64) == 99bv8); + free requires (memory_load8_le(mem, 2237bv64) == 104bv8); + free requires (memory_load8_le(mem, 2238bv64) == 97bv8); + free requires (memory_load8_le(mem, 2239bv64) == 114bv8); + free requires (memory_load8_le(mem, 2240bv64) == 32bv8); + free requires (memory_load8_le(mem, 2241bv64) == 105bv8); + free requires (memory_load8_le(mem, 2242bv64) == 115bv8); + free requires (memory_load8_le(mem, 2243bv64) == 58bv8); + free requires (memory_load8_le(mem, 2244bv64) == 32bv8); + free requires (memory_load8_le(mem, 2245bv64) == 37bv8); + free requires (memory_load8_le(mem, 2246bv64) == 99bv8); + free requires (memory_load8_le(mem, 2247bv64) == 10bv8); + free requires (memory_load8_le(mem, 2248bv64) == 0bv8); + free requires (memory_load8_le(mem, 2249bv64) == 0bv8); + free requires (memory_load8_le(mem, 2250bv64) == 0bv8); + free requires (memory_load8_le(mem, 2251bv64) == 0bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 0bv8); + free requires (memory_load8_le(mem, 2254bv64) == 0bv8); + free requires (memory_load8_le(mem, 2255bv64) == 0bv8); + free requires (memory_load8_le(mem, 2256bv64) == 84bv8); + free requires (memory_load8_le(mem, 2257bv64) == 104bv8); + free requires (memory_load8_le(mem, 2258bv64) == 101bv8); + free requires (memory_load8_le(mem, 2259bv64) == 32bv8); + free requires (memory_load8_le(mem, 2260bv64) == 105bv8); + free requires (memory_load8_le(mem, 2261bv64) == 110bv8); + free requires (memory_load8_le(mem, 2262bv64) == 116bv8); + free requires (memory_load8_le(mem, 2263bv64) == 32bv8); + free requires (memory_load8_le(mem, 2264bv64) == 105bv8); + free requires (memory_load8_le(mem, 2265bv64) == 115bv8); + free requires (memory_load8_le(mem, 2266bv64) == 58bv8); + free requires (memory_load8_le(mem, 2267bv64) == 32bv8); + free requires (memory_load8_le(mem, 2268bv64) == 37bv8); + free requires (memory_load8_le(mem, 2269bv64) == 100bv8); + free requires (memory_load8_le(mem, 2270bv64) == 10bv8); + free requires (memory_load8_le(mem, 2271bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2224bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2225bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2226bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2227bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2228bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2229bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2230bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2231bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); diff --git a/src/test/correct/multi_malloc/gcc_pic/multi_malloc.expected b/src/test/correct/multi_malloc/gcc_pic/multi_malloc.expected index 1b55a1749..5ed00b6aa 100644 --- a/src/test/correct/multi_malloc/gcc_pic/multi_malloc.expected +++ b/src/test/correct/multi_malloc/gcc_pic/multi_malloc.expected @@ -71,9 +71,88 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2224bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2225bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2226bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2227bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2228bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2229bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2230bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2231bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -90,9 +169,6 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure #free(); - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 2224bv64) == 1bv8); free requires (memory_load8_le(mem, 2225bv64) == 0bv8); free requires (memory_load8_le(mem, 2226bv64) == 2bv8); @@ -141,118 +217,22 @@ procedure main() free requires (memory_load8_le(mem, 2269bv64) == 100bv8); free requires (memory_load8_le(mem, 2270bv64) == 10bv8); free requires (memory_load8_le(mem, 2271bv64) == 0bv8); - free requires (memory_load8_le(mem, 69504bv64) == 0bv8); - free requires (memory_load8_le(mem, 69505bv64) == 0bv8); - free requires (memory_load8_le(mem, 69506bv64) == 0bv8); - free requires (memory_load8_le(mem, 69507bv64) == 0bv8); - free requires (memory_load8_le(mem, 69508bv64) == 0bv8); - free requires (memory_load8_le(mem, 69509bv64) == 0bv8); - free requires (memory_load8_le(mem, 69510bv64) == 0bv8); - free requires (memory_load8_le(mem, 69511bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 64bv8); - free requires (memory_load8_le(mem, 69529bv64) == 6bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 64bv8); - free requires (memory_load8_le(mem, 69537bv64) == 6bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 64bv8); - free requires (memory_load8_le(mem, 69545bv64) == 6bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 64bv8); - free requires (memory_load8_le(mem, 69553bv64) == 6bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 64bv8); - free requires (memory_load8_le(mem, 69561bv64) == 6bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 64bv8); - free requires (memory_load8_le(mem, 69569bv64) == 6bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 64bv8); - free requires (memory_load8_le(mem, 69577bv64) == 6bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 144bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 8bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -261,14 +241,97 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2224bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2225bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2226bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2227bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2228bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2229bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2230bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2231bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -285,10 +348,170 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 2224bv64) == 1bv8); + free requires (memory_load8_le(mem, 2225bv64) == 0bv8); + free requires (memory_load8_le(mem, 2226bv64) == 2bv8); + free requires (memory_load8_le(mem, 2227bv64) == 0bv8); + free requires (memory_load8_le(mem, 2228bv64) == 0bv8); + free requires (memory_load8_le(mem, 2229bv64) == 0bv8); + free requires (memory_load8_le(mem, 2230bv64) == 0bv8); + free requires (memory_load8_le(mem, 2231bv64) == 0bv8); + free requires (memory_load8_le(mem, 2232bv64) == 84bv8); + free requires (memory_load8_le(mem, 2233bv64) == 104bv8); + free requires (memory_load8_le(mem, 2234bv64) == 101bv8); + free requires (memory_load8_le(mem, 2235bv64) == 32bv8); + free requires (memory_load8_le(mem, 2236bv64) == 99bv8); + free requires (memory_load8_le(mem, 2237bv64) == 104bv8); + free requires (memory_load8_le(mem, 2238bv64) == 97bv8); + free requires (memory_load8_le(mem, 2239bv64) == 114bv8); + free requires (memory_load8_le(mem, 2240bv64) == 32bv8); + free requires (memory_load8_le(mem, 2241bv64) == 105bv8); + free requires (memory_load8_le(mem, 2242bv64) == 115bv8); + free requires (memory_load8_le(mem, 2243bv64) == 58bv8); + free requires (memory_load8_le(mem, 2244bv64) == 32bv8); + free requires (memory_load8_le(mem, 2245bv64) == 37bv8); + free requires (memory_load8_le(mem, 2246bv64) == 99bv8); + free requires (memory_load8_le(mem, 2247bv64) == 10bv8); + free requires (memory_load8_le(mem, 2248bv64) == 0bv8); + free requires (memory_load8_le(mem, 2249bv64) == 0bv8); + free requires (memory_load8_le(mem, 2250bv64) == 0bv8); + free requires (memory_load8_le(mem, 2251bv64) == 0bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 0bv8); + free requires (memory_load8_le(mem, 2254bv64) == 0bv8); + free requires (memory_load8_le(mem, 2255bv64) == 0bv8); + free requires (memory_load8_le(mem, 2256bv64) == 84bv8); + free requires (memory_load8_le(mem, 2257bv64) == 104bv8); + free requires (memory_load8_le(mem, 2258bv64) == 101bv8); + free requires (memory_load8_le(mem, 2259bv64) == 32bv8); + free requires (memory_load8_le(mem, 2260bv64) == 105bv8); + free requires (memory_load8_le(mem, 2261bv64) == 110bv8); + free requires (memory_load8_le(mem, 2262bv64) == 116bv8); + free requires (memory_load8_le(mem, 2263bv64) == 32bv8); + free requires (memory_load8_le(mem, 2264bv64) == 105bv8); + free requires (memory_load8_le(mem, 2265bv64) == 115bv8); + free requires (memory_load8_le(mem, 2266bv64) == 58bv8); + free requires (memory_load8_le(mem, 2267bv64) == 32bv8); + free requires (memory_load8_le(mem, 2268bv64) == 37bv8); + free requires (memory_load8_le(mem, 2269bv64) == 100bv8); + free requires (memory_load8_le(mem, 2270bv64) == 10bv8); + free requires (memory_load8_le(mem, 2271bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2224bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2225bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2226bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2227bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2228bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2229bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2230bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2231bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -360,5 +583,325 @@ procedure main() } procedure malloc(); + free requires (memory_load8_le(mem, 2224bv64) == 1bv8); + free requires (memory_load8_le(mem, 2225bv64) == 0bv8); + free requires (memory_load8_le(mem, 2226bv64) == 2bv8); + free requires (memory_load8_le(mem, 2227bv64) == 0bv8); + free requires (memory_load8_le(mem, 2228bv64) == 0bv8); + free requires (memory_load8_le(mem, 2229bv64) == 0bv8); + free requires (memory_load8_le(mem, 2230bv64) == 0bv8); + free requires (memory_load8_le(mem, 2231bv64) == 0bv8); + free requires (memory_load8_le(mem, 2232bv64) == 84bv8); + free requires (memory_load8_le(mem, 2233bv64) == 104bv8); + free requires (memory_load8_le(mem, 2234bv64) == 101bv8); + free requires (memory_load8_le(mem, 2235bv64) == 32bv8); + free requires (memory_load8_le(mem, 2236bv64) == 99bv8); + free requires (memory_load8_le(mem, 2237bv64) == 104bv8); + free requires (memory_load8_le(mem, 2238bv64) == 97bv8); + free requires (memory_load8_le(mem, 2239bv64) == 114bv8); + free requires (memory_load8_le(mem, 2240bv64) == 32bv8); + free requires (memory_load8_le(mem, 2241bv64) == 105bv8); + free requires (memory_load8_le(mem, 2242bv64) == 115bv8); + free requires (memory_load8_le(mem, 2243bv64) == 58bv8); + free requires (memory_load8_le(mem, 2244bv64) == 32bv8); + free requires (memory_load8_le(mem, 2245bv64) == 37bv8); + free requires (memory_load8_le(mem, 2246bv64) == 99bv8); + free requires (memory_load8_le(mem, 2247bv64) == 10bv8); + free requires (memory_load8_le(mem, 2248bv64) == 0bv8); + free requires (memory_load8_le(mem, 2249bv64) == 0bv8); + free requires (memory_load8_le(mem, 2250bv64) == 0bv8); + free requires (memory_load8_le(mem, 2251bv64) == 0bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 0bv8); + free requires (memory_load8_le(mem, 2254bv64) == 0bv8); + free requires (memory_load8_le(mem, 2255bv64) == 0bv8); + free requires (memory_load8_le(mem, 2256bv64) == 84bv8); + free requires (memory_load8_le(mem, 2257bv64) == 104bv8); + free requires (memory_load8_le(mem, 2258bv64) == 101bv8); + free requires (memory_load8_le(mem, 2259bv64) == 32bv8); + free requires (memory_load8_le(mem, 2260bv64) == 105bv8); + free requires (memory_load8_le(mem, 2261bv64) == 110bv8); + free requires (memory_load8_le(mem, 2262bv64) == 116bv8); + free requires (memory_load8_le(mem, 2263bv64) == 32bv8); + free requires (memory_load8_le(mem, 2264bv64) == 105bv8); + free requires (memory_load8_le(mem, 2265bv64) == 115bv8); + free requires (memory_load8_le(mem, 2266bv64) == 58bv8); + free requires (memory_load8_le(mem, 2267bv64) == 32bv8); + free requires (memory_load8_le(mem, 2268bv64) == 37bv8); + free requires (memory_load8_le(mem, 2269bv64) == 100bv8); + free requires (memory_load8_le(mem, 2270bv64) == 10bv8); + free requires (memory_load8_le(mem, 2271bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2224bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2225bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2226bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2227bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2228bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2229bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2230bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2231bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure printf(); + free requires (memory_load8_le(mem, 2224bv64) == 1bv8); + free requires (memory_load8_le(mem, 2225bv64) == 0bv8); + free requires (memory_load8_le(mem, 2226bv64) == 2bv8); + free requires (memory_load8_le(mem, 2227bv64) == 0bv8); + free requires (memory_load8_le(mem, 2228bv64) == 0bv8); + free requires (memory_load8_le(mem, 2229bv64) == 0bv8); + free requires (memory_load8_le(mem, 2230bv64) == 0bv8); + free requires (memory_load8_le(mem, 2231bv64) == 0bv8); + free requires (memory_load8_le(mem, 2232bv64) == 84bv8); + free requires (memory_load8_le(mem, 2233bv64) == 104bv8); + free requires (memory_load8_le(mem, 2234bv64) == 101bv8); + free requires (memory_load8_le(mem, 2235bv64) == 32bv8); + free requires (memory_load8_le(mem, 2236bv64) == 99bv8); + free requires (memory_load8_le(mem, 2237bv64) == 104bv8); + free requires (memory_load8_le(mem, 2238bv64) == 97bv8); + free requires (memory_load8_le(mem, 2239bv64) == 114bv8); + free requires (memory_load8_le(mem, 2240bv64) == 32bv8); + free requires (memory_load8_le(mem, 2241bv64) == 105bv8); + free requires (memory_load8_le(mem, 2242bv64) == 115bv8); + free requires (memory_load8_le(mem, 2243bv64) == 58bv8); + free requires (memory_load8_le(mem, 2244bv64) == 32bv8); + free requires (memory_load8_le(mem, 2245bv64) == 37bv8); + free requires (memory_load8_le(mem, 2246bv64) == 99bv8); + free requires (memory_load8_le(mem, 2247bv64) == 10bv8); + free requires (memory_load8_le(mem, 2248bv64) == 0bv8); + free requires (memory_load8_le(mem, 2249bv64) == 0bv8); + free requires (memory_load8_le(mem, 2250bv64) == 0bv8); + free requires (memory_load8_le(mem, 2251bv64) == 0bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 0bv8); + free requires (memory_load8_le(mem, 2254bv64) == 0bv8); + free requires (memory_load8_le(mem, 2255bv64) == 0bv8); + free requires (memory_load8_le(mem, 2256bv64) == 84bv8); + free requires (memory_load8_le(mem, 2257bv64) == 104bv8); + free requires (memory_load8_le(mem, 2258bv64) == 101bv8); + free requires (memory_load8_le(mem, 2259bv64) == 32bv8); + free requires (memory_load8_le(mem, 2260bv64) == 105bv8); + free requires (memory_load8_le(mem, 2261bv64) == 110bv8); + free requires (memory_load8_le(mem, 2262bv64) == 116bv8); + free requires (memory_load8_le(mem, 2263bv64) == 32bv8); + free requires (memory_load8_le(mem, 2264bv64) == 105bv8); + free requires (memory_load8_le(mem, 2265bv64) == 115bv8); + free requires (memory_load8_le(mem, 2266bv64) == 58bv8); + free requires (memory_load8_le(mem, 2267bv64) == 32bv8); + free requires (memory_load8_le(mem, 2268bv64) == 37bv8); + free requires (memory_load8_le(mem, 2269bv64) == 100bv8); + free requires (memory_load8_le(mem, 2270bv64) == 10bv8); + free requires (memory_load8_le(mem, 2271bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2224bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2225bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2226bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2227bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2228bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2229bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2230bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2231bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); diff --git a/src/test/correct/nestedif/clang/nestedif.expected b/src/test/correct/nestedif/clang/nestedif.expected index fa990eca2..5ad7e9170 100644 --- a/src/test/correct/nestedif/clang/nestedif.expected +++ b/src/test/correct/nestedif/clang/nestedif.expected @@ -42,9 +42,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1968bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1969bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1970bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1971bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -62,42 +97,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_stack, R0, R31, R8, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1968bv64) == 1bv8); free requires (memory_load8_le(mem, 1969bv64) == 0bv8); free requires (memory_load8_le(mem, 1970bv64) == 2bv8); free requires (memory_load8_le(mem, 1971bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -106,22 +141,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -132,6 +151,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1968bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1969bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1970bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1971bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv32; var #5: bv32; diff --git a/src/test/correct/nestedif/clang_O2/nestedif.expected b/src/test/correct/nestedif/clang_O2/nestedif.expected index 3b757ebc7..36dff27e4 100644 --- a/src/test/correct/nestedif/clang_O2/nestedif.expected +++ b/src/test/correct/nestedif/clang_O2/nestedif.expected @@ -10,9 +10,44 @@ function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1840bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1841bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1842bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1843bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -30,42 +65,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, R0; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1840bv64) == 1bv8); free requires (memory_load8_le(mem, 1841bv64) == 0bv8); free requires (memory_load8_le(mem, 1842bv64) == 2bv8); free requires (memory_load8_le(mem, 1843bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -74,22 +109,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -98,6 +117,42 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1840bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1841bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1842bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1843bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { lmain: R0, Gamma_R0 := 0bv64, true; diff --git a/src/test/correct/nestedif/clang_no_plt_no_pic/nestedif.expected b/src/test/correct/nestedif/clang_no_plt_no_pic/nestedif.expected index e70204bb8..fe859a7e7 100644 --- a/src/test/correct/nestedif/clang_no_plt_no_pic/nestedif.expected +++ b/src/test/correct/nestedif/clang_no_plt_no_pic/nestedif.expected @@ -42,9 +42,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1968bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1969bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1970bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1971bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -62,42 +97,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_stack, R0, R31, R8, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1968bv64) == 1bv8); free requires (memory_load8_le(mem, 1969bv64) == 0bv8); free requires (memory_load8_le(mem, 1970bv64) == 2bv8); free requires (memory_load8_le(mem, 1971bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -106,22 +141,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -132,6 +151,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1968bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1969bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1970bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1971bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv32; var #5: bv32; diff --git a/src/test/correct/nestedif/clang_pic/nestedif.expected b/src/test/correct/nestedif/clang_pic/nestedif.expected index e70204bb8..fe859a7e7 100644 --- a/src/test/correct/nestedif/clang_pic/nestedif.expected +++ b/src/test/correct/nestedif/clang_pic/nestedif.expected @@ -42,9 +42,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1968bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1969bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1970bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1971bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -62,42 +97,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_stack, R0, R31, R8, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1968bv64) == 1bv8); free requires (memory_load8_le(mem, 1969bv64) == 0bv8); free requires (memory_load8_le(mem, 1970bv64) == 2bv8); free requires (memory_load8_le(mem, 1971bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -106,22 +141,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -132,6 +151,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1968bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1969bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1970bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1971bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv32; var #5: bv32; diff --git a/src/test/correct/nestedif/gcc/nestedif.expected b/src/test/correct/nestedif/gcc/nestedif.expected index be1dd69e4..8da568347 100644 --- a/src/test/correct/nestedif/gcc/nestedif.expected +++ b/src/test/correct/nestedif/gcc/nestedif.expected @@ -40,9 +40,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1928bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1929bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1930bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1931bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -60,98 +95,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R31, Gamma_stack, R0, R31, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1928bv64) == 1bv8); free requires (memory_load8_le(mem, 1929bv64) == 0bv8); free requires (memory_load8_le(mem, 1930bv64) == 2bv8); free requires (memory_load8_le(mem, 1931bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -160,22 +139,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -186,6 +149,42 @@ procedure main() free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1928bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1929bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1930bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1931bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv32; var #5: bv32; diff --git a/src/test/correct/nestedif/gcc_O2/nestedif.expected b/src/test/correct/nestedif/gcc_O2/nestedif.expected index 4644d729c..362cf9929 100644 --- a/src/test/correct/nestedif/gcc_O2/nestedif.expected +++ b/src/test/correct/nestedif/gcc_O2/nestedif.expected @@ -10,9 +10,44 @@ function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -30,98 +65,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, R0; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1896bv64) == 1bv8); free requires (memory_load8_le(mem, 1897bv64) == 0bv8); free requires (memory_load8_le(mem, 1898bv64) == 2bv8); free requires (memory_load8_le(mem, 1899bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 80bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 0bv8); + free requires (memory_load8_le(mem, 69025bv64) == 7bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 0bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -130,22 +109,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -154,6 +117,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lmain: R0, Gamma_R0 := 0bv64, true; diff --git a/src/test/correct/nestedif/gcc_no_plt_no_pic/nestedif.expected b/src/test/correct/nestedif/gcc_no_plt_no_pic/nestedif.expected index 0e62fbcb1..271594910 100644 --- a/src/test/correct/nestedif/gcc_no_plt_no_pic/nestedif.expected +++ b/src/test/correct/nestedif/gcc_no_plt_no_pic/nestedif.expected @@ -40,9 +40,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1928bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1929bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1930bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1931bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -60,98 +95,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R31, Gamma_stack, R0, R31, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1928bv64) == 1bv8); free requires (memory_load8_le(mem, 1929bv64) == 0bv8); free requires (memory_load8_le(mem, 1930bv64) == 2bv8); free requires (memory_load8_le(mem, 1931bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -160,22 +139,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -186,6 +149,42 @@ procedure main() free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1928bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1929bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1930bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1931bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv32; var #5: bv32; diff --git a/src/test/correct/nestedif/gcc_pic/nestedif.expected b/src/test/correct/nestedif/gcc_pic/nestedif.expected index 0e62fbcb1..271594910 100644 --- a/src/test/correct/nestedif/gcc_pic/nestedif.expected +++ b/src/test/correct/nestedif/gcc_pic/nestedif.expected @@ -40,9 +40,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1928bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1929bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1930bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1931bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -60,98 +95,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R31, Gamma_stack, R0, R31, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1928bv64) == 1bv8); free requires (memory_load8_le(mem, 1929bv64) == 0bv8); free requires (memory_load8_le(mem, 1930bv64) == 2bv8); free requires (memory_load8_le(mem, 1931bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -160,22 +139,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -186,6 +149,42 @@ procedure main() free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1928bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1929bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1930bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1931bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv32; var #5: bv32; diff --git a/src/test/correct/no_interference_update_x/clang/no_interference_update_x.expected b/src/test/correct/no_interference_update_x/clang/no_interference_update_x.expected index 32a6c2684..197526123 100644 --- a/src/test/correct/no_interference_update_x/clang/no_interference_update_x.expected +++ b/src/test/correct/no_interference_update_x/clang/no_interference_update_x.expected @@ -35,6 +35,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))); + free ensures (memory_load8_le(mem, 1852bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1853bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1854bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1855bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -57,42 +93,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R8, Gamma_R9, Gamma_mem, R0, R8, R9, mem; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1852bv64) == 1bv8); free requires (memory_load8_le(mem, 1853bv64) == 0bv8); free requires (memory_load8_le(mem, 1854bv64) == 2bv8); free requires (memory_load8_le(mem, 1855bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -101,22 +137,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -126,6 +146,42 @@ procedure main() free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); ensures (memory_load32_le(mem, $x_addr) == 1bv32); + free ensures (memory_load8_le(mem, 1852bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1853bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1854bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1855bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var y_old: bv32; lmain: diff --git a/src/test/correct/no_interference_update_x/clang_O2/no_interference_update_x.expected b/src/test/correct/no_interference_update_x/clang_O2/no_interference_update_x.expected index f9cdb84a3..1067e7c7c 100644 --- a/src/test/correct/no_interference_update_x/clang_O2/no_interference_update_x.expected +++ b/src/test/correct/no_interference_update_x/clang_O2/no_interference_update_x.expected @@ -35,6 +35,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))); + free ensures (memory_load8_le(mem, 1852bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1853bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1854bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1855bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -57,42 +93,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R8, Gamma_R9, Gamma_mem, R0, R8, R9, mem; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1852bv64) == 1bv8); free requires (memory_load8_le(mem, 1853bv64) == 0bv8); free requires (memory_load8_le(mem, 1854bv64) == 2bv8); free requires (memory_load8_le(mem, 1855bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -101,22 +137,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -126,6 +146,42 @@ procedure main() free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); ensures (memory_load32_le(mem, $x_addr) == 1bv32); + free ensures (memory_load8_le(mem, 1852bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1853bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1854bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1855bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var y_old: bv32; lmain: diff --git a/src/test/correct/no_interference_update_x/clang_no_plt_no_pic/no_interference_update_x.expected b/src/test/correct/no_interference_update_x/clang_no_plt_no_pic/no_interference_update_x.expected index 32a6c2684..197526123 100644 --- a/src/test/correct/no_interference_update_x/clang_no_plt_no_pic/no_interference_update_x.expected +++ b/src/test/correct/no_interference_update_x/clang_no_plt_no_pic/no_interference_update_x.expected @@ -35,6 +35,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))); + free ensures (memory_load8_le(mem, 1852bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1853bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1854bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1855bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -57,42 +93,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R8, Gamma_R9, Gamma_mem, R0, R8, R9, mem; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1852bv64) == 1bv8); free requires (memory_load8_le(mem, 1853bv64) == 0bv8); free requires (memory_load8_le(mem, 1854bv64) == 2bv8); free requires (memory_load8_le(mem, 1855bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -101,22 +137,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -126,6 +146,42 @@ procedure main() free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); ensures (memory_load32_le(mem, $x_addr) == 1bv32); + free ensures (memory_load8_le(mem, 1852bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1853bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1854bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1855bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var y_old: bv32; lmain: diff --git a/src/test/correct/no_interference_update_x/clang_pic/no_interference_update_x.expected b/src/test/correct/no_interference_update_x/clang_pic/no_interference_update_x.expected index 983381642..9488bec55 100644 --- a/src/test/correct/no_interference_update_x/clang_pic/no_interference_update_x.expected +++ b/src/test/correct/no_interference_update_x/clang_pic/no_interference_update_x.expected @@ -43,6 +43,50 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))); + free ensures (memory_load8_le(mem, 1920bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1921bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1922bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1923bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69576bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69577bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69578bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69579bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69580bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69581bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69582bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69583bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -65,34 +109,26 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R8, Gamma_R9, Gamma_mem, R0, R8, R9, mem; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1920bv64) == 1bv8); free requires (memory_load8_le(mem, 1921bv64) == 0bv8); free requires (memory_load8_le(mem, 1922bv64) == 2bv8); free requires (memory_load8_le(mem, 1923bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 13bv8); - free requires (memory_load8_le(mem, 69554bv64) == 1bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 0bv8); - free requires (memory_load8_le(mem, 69561bv64) == 0bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); free requires (memory_load8_le(mem, 69576bv64) == 52bv8); free requires (memory_load8_le(mem, 69577bv64) == 16bv8); free requires (memory_load8_le(mem, 69578bv64) == 1bv8); @@ -101,38 +137,6 @@ procedure main() free requires (memory_load8_le(mem, 69581bv64) == 0bv8); free requires (memory_load8_le(mem, 69582bv64) == 0bv8); free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 84bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -141,7 +145,75 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69056bv64) == 80bv8); + free requires (memory_load8_le(mem, 69057bv64) == 7bv8); + free requires (memory_load8_le(mem, 69058bv64) == 0bv8); + free requires (memory_load8_le(mem, 69059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69060bv64) == 0bv8); + free requires (memory_load8_le(mem, 69061bv64) == 0bv8); + free requires (memory_load8_le(mem, 69062bv64) == 0bv8); + free requires (memory_load8_le(mem, 69063bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 0bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 84bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); ensures (memory_load32_le(mem, $x_addr) == 1bv32); + free ensures (memory_load8_le(mem, 1920bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1921bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1922bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1923bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69576bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69577bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69578bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69579bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69580bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69581bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69582bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69583bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); { var y_old: bv32; lmain: diff --git a/src/test/correct/no_interference_update_x/gcc/no_interference_update_x.expected b/src/test/correct/no_interference_update_x/gcc/no_interference_update_x.expected index 3b91fc806..5e13c4c9a 100644 --- a/src/test/correct/no_interference_update_x/gcc/no_interference_update_x.expected +++ b/src/test/correct/no_interference_update_x/gcc/no_interference_update_x.expected @@ -33,6 +33,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))); + free ensures (memory_load8_le(mem, 1856bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1857bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1858bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1859bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -55,98 +91,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1856bv64) == 1bv8); free requires (memory_load8_le(mem, 1857bv64) == 0bv8); free requires (memory_load8_le(mem, 1858bv64) == 2bv8); free requires (memory_load8_le(mem, 1859bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -155,22 +135,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -180,6 +144,42 @@ procedure main() free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); ensures (memory_load32_le(mem, $x_addr) == 1bv32); + free ensures (memory_load8_le(mem, 1856bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1857bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1858bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1859bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var y_old: bv32; lmain: diff --git a/src/test/correct/no_interference_update_x/gcc_O2/no_interference_update_x.expected b/src/test/correct/no_interference_update_x/gcc_O2/no_interference_update_x.expected index b27cbe084..c744a1767 100644 --- a/src/test/correct/no_interference_update_x/gcc_O2/no_interference_update_x.expected +++ b/src/test/correct/no_interference_update_x/gcc_O2/no_interference_update_x.expected @@ -35,6 +35,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -57,98 +93,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R2, Gamma_mem, R0, R1, R2, mem; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1896bv64) == 1bv8); free requires (memory_load8_le(mem, 1897bv64) == 0bv8); free requires (memory_load8_le(mem, 1898bv64) == 2bv8); free requires (memory_load8_le(mem, 1899bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 80bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 0bv8); + free requires (memory_load8_le(mem, 69025bv64) == 7bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 0bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -157,22 +137,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -182,6 +146,42 @@ procedure main() free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); ensures (memory_load32_le(mem, $x_addr) == 1bv32); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var y_old: bv32; lmain: diff --git a/src/test/correct/no_interference_update_x/gcc_no_plt_no_pic/no_interference_update_x.expected b/src/test/correct/no_interference_update_x/gcc_no_plt_no_pic/no_interference_update_x.expected index 3b91fc806..5e13c4c9a 100644 --- a/src/test/correct/no_interference_update_x/gcc_no_plt_no_pic/no_interference_update_x.expected +++ b/src/test/correct/no_interference_update_x/gcc_no_plt_no_pic/no_interference_update_x.expected @@ -33,6 +33,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))); + free ensures (memory_load8_le(mem, 1856bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1857bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1858bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1859bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -55,98 +91,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1856bv64) == 1bv8); free requires (memory_load8_le(mem, 1857bv64) == 0bv8); free requires (memory_load8_le(mem, 1858bv64) == 2bv8); free requires (memory_load8_le(mem, 1859bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -155,22 +135,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -180,6 +144,42 @@ procedure main() free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); ensures (memory_load32_le(mem, $x_addr) == 1bv32); + free ensures (memory_load8_le(mem, 1856bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1857bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1858bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1859bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var y_old: bv32; lmain: diff --git a/src/test/correct/no_interference_update_x/gcc_pic/no_interference_update_x.expected b/src/test/correct/no_interference_update_x/gcc_pic/no_interference_update_x.expected index dd0ed58b2..1579aaa62 100644 --- a/src/test/correct/no_interference_update_x/gcc_pic/no_interference_update_x.expected +++ b/src/test/correct/no_interference_update_x/gcc_pic/no_interference_update_x.expected @@ -41,6 +41,50 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))); + free ensures (memory_load8_le(mem, 1920bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1921bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1922bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1923bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69600bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69601bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69602bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69603bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69604bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69605bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69606bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69607bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -63,122 +107,6 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; - free requires (memory_load8_le(mem, 1920bv64) == 1bv8); - free requires (memory_load8_le(mem, 1921bv64) == 0bv8); - free requires (memory_load8_le(mem, 1922bv64) == 2bv8); - free requires (memory_load8_le(mem, 1923bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 176bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 176bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 176bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 176bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 13bv8); - free requires (memory_load8_le(mem, 69578bv64) == 1bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 20bv8); - free requires (memory_load8_le(mem, 69601bv64) == 16bv8); - free requires (memory_load8_le(mem, 69602bv64) == 1bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 84bv8); - free requires (memory_load8_le(mem, 69617bv64) == 7bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -195,7 +123,95 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 1920bv64) == 1bv8); + free requires (memory_load8_le(mem, 1921bv64) == 0bv8); + free requires (memory_load8_le(mem, 1922bv64) == 2bv8); + free requires (memory_load8_le(mem, 1923bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 84bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 0bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69600bv64) == 20bv8); + free requires (memory_load8_le(mem, 69601bv64) == 16bv8); + free requires (memory_load8_le(mem, 69602bv64) == 1bv8); + free requires (memory_load8_le(mem, 69603bv64) == 0bv8); + free requires (memory_load8_le(mem, 69604bv64) == 0bv8); + free requires (memory_load8_le(mem, 69605bv64) == 0bv8); + free requires (memory_load8_le(mem, 69606bv64) == 0bv8); + free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 80bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); ensures (memory_load32_le(mem, $x_addr) == 1bv32); + free ensures (memory_load8_le(mem, 1920bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1921bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1922bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1923bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69600bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69601bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69602bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69603bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69604bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69605bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69606bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69607bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); { var y_old: bv32; lmain: diff --git a/src/test/correct/no_interference_update_y/clang/no_interference_update_y.expected b/src/test/correct/no_interference_update_y/clang/no_interference_update_y.expected index ae0beefa5..e70efe2dd 100644 --- a/src/test/correct/no_interference_update_y/clang/no_interference_update_y.expected +++ b/src/test/correct/no_interference_update_y/clang/no_interference_update_y.expected @@ -35,6 +35,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $y_addr) == old(memory_load32_le(mem, $y_addr))); + free ensures (memory_load8_le(mem, 1852bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1853bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1854bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1855bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -57,42 +93,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R8, Gamma_R9, Gamma_mem, R0, R8, R9, mem; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1852bv64) == 1bv8); free requires (memory_load8_le(mem, 1853bv64) == 0bv8); free requires (memory_load8_le(mem, 1854bv64) == 2bv8); free requires (memory_load8_le(mem, 1855bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -101,22 +137,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -126,6 +146,42 @@ procedure main() free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); ensures (memory_load32_le(mem, $y_addr) == 1bv32); + free ensures (memory_load8_le(mem, 1852bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1853bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1854bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1855bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var x_old: bv32; lmain: diff --git a/src/test/correct/no_interference_update_y/clang_O2/no_interference_update_y.expected b/src/test/correct/no_interference_update_y/clang_O2/no_interference_update_y.expected index 562b47adc..23d8afb4c 100644 --- a/src/test/correct/no_interference_update_y/clang_O2/no_interference_update_y.expected +++ b/src/test/correct/no_interference_update_y/clang_O2/no_interference_update_y.expected @@ -35,6 +35,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $y_addr) == old(memory_load32_le(mem, $y_addr))); + free ensures (memory_load8_le(mem, 1852bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1853bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1854bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1855bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -57,42 +93,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R8, Gamma_R9, Gamma_mem, R0, R8, R9, mem; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1852bv64) == 1bv8); free requires (memory_load8_le(mem, 1853bv64) == 0bv8); free requires (memory_load8_le(mem, 1854bv64) == 2bv8); free requires (memory_load8_le(mem, 1855bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -101,22 +137,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -126,6 +146,42 @@ procedure main() free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); ensures (memory_load32_le(mem, $y_addr) == 1bv32); + free ensures (memory_load8_le(mem, 1852bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1853bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1854bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1855bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var x_old: bv32; lmain: diff --git a/src/test/correct/no_interference_update_y/clang_no_plt_no_pic/no_interference_update_y.expected b/src/test/correct/no_interference_update_y/clang_no_plt_no_pic/no_interference_update_y.expected index ae0beefa5..e70efe2dd 100644 --- a/src/test/correct/no_interference_update_y/clang_no_plt_no_pic/no_interference_update_y.expected +++ b/src/test/correct/no_interference_update_y/clang_no_plt_no_pic/no_interference_update_y.expected @@ -35,6 +35,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $y_addr) == old(memory_load32_le(mem, $y_addr))); + free ensures (memory_load8_le(mem, 1852bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1853bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1854bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1855bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -57,42 +93,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R8, Gamma_R9, Gamma_mem, R0, R8, R9, mem; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1852bv64) == 1bv8); free requires (memory_load8_le(mem, 1853bv64) == 0bv8); free requires (memory_load8_le(mem, 1854bv64) == 2bv8); free requires (memory_load8_le(mem, 1855bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -101,22 +137,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -126,6 +146,42 @@ procedure main() free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); ensures (memory_load32_le(mem, $y_addr) == 1bv32); + free ensures (memory_load8_le(mem, 1852bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1853bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1854bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1855bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var x_old: bv32; lmain: diff --git a/src/test/correct/no_interference_update_y/clang_pic/no_interference_update_y.expected b/src/test/correct/no_interference_update_y/clang_pic/no_interference_update_y.expected index 0e106e8e0..b1b7b95ba 100644 --- a/src/test/correct/no_interference_update_y/clang_pic/no_interference_update_y.expected +++ b/src/test/correct/no_interference_update_y/clang_pic/no_interference_update_y.expected @@ -43,6 +43,50 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $y_addr) == old(memory_load32_le(mem, $y_addr))); + free ensures (memory_load8_le(mem, 1920bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1921bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1922bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1923bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69584bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69585bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69586bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -65,42 +109,34 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R8, Gamma_R9, Gamma_mem, R0, R8, R9, mem; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1920bv64) == 1bv8); free requires (memory_load8_le(mem, 1921bv64) == 0bv8); free requires (memory_load8_le(mem, 1922bv64) == 2bv8); free requires (memory_load8_le(mem, 1923bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 13bv8); - free requires (memory_load8_le(mem, 69554bv64) == 1bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 0bv8); - free requires (memory_load8_le(mem, 69561bv64) == 0bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 69584bv64) == 52bv8); free requires (memory_load8_le(mem, 69585bv64) == 16bv8); free requires (memory_load8_le(mem, 69586bv64) == 1bv8); @@ -109,6 +145,22 @@ procedure main() free requires (memory_load8_le(mem, 69589bv64) == 0bv8); free requires (memory_load8_le(mem, 69590bv64) == 0bv8); free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69056bv64) == 80bv8); + free requires (memory_load8_le(mem, 69057bv64) == 7bv8); + free requires (memory_load8_le(mem, 69058bv64) == 0bv8); + free requires (memory_load8_le(mem, 69059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69060bv64) == 0bv8); + free requires (memory_load8_le(mem, 69061bv64) == 0bv8); + free requires (memory_load8_le(mem, 69062bv64) == 0bv8); + free requires (memory_load8_le(mem, 69063bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 0bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 84bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -117,31 +169,51 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 40bv8); - free requires (memory_load8_le(mem, 69673bv64) == 16bv8); - free requires (memory_load8_le(mem, 69674bv64) == 1bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); ensures (memory_load32_le(mem, $y_addr) == 1bv32); + free ensures (memory_load8_le(mem, 1920bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1921bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1922bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1923bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69584bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69585bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69586bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); { var x_old: bv32; lmain: diff --git a/src/test/correct/no_interference_update_y/gcc/no_interference_update_y.expected b/src/test/correct/no_interference_update_y/gcc/no_interference_update_y.expected index f0890cfe9..f65368b48 100644 --- a/src/test/correct/no_interference_update_y/gcc/no_interference_update_y.expected +++ b/src/test/correct/no_interference_update_y/gcc/no_interference_update_y.expected @@ -33,6 +33,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $y_addr) == old(memory_load32_le(mem, $y_addr))); + free ensures (memory_load8_le(mem, 1856bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1857bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1858bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1859bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -55,98 +91,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1856bv64) == 1bv8); free requires (memory_load8_le(mem, 1857bv64) == 0bv8); free requires (memory_load8_le(mem, 1858bv64) == 2bv8); free requires (memory_load8_le(mem, 1859bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -155,22 +135,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -180,6 +144,42 @@ procedure main() free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); ensures (memory_load32_le(mem, $y_addr) == 1bv32); + free ensures (memory_load8_le(mem, 1856bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1857bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1858bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1859bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var x_old: bv32; lmain: diff --git a/src/test/correct/no_interference_update_y/gcc_O2/no_interference_update_y.expected b/src/test/correct/no_interference_update_y/gcc_O2/no_interference_update_y.expected index bba7bfb9c..92b64b744 100644 --- a/src/test/correct/no_interference_update_y/gcc_O2/no_interference_update_y.expected +++ b/src/test/correct/no_interference_update_y/gcc_O2/no_interference_update_y.expected @@ -35,6 +35,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $y_addr) == old(memory_load32_le(mem, $y_addr))); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -57,98 +93,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R2, Gamma_mem, R0, R1, R2, mem; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1896bv64) == 1bv8); free requires (memory_load8_le(mem, 1897bv64) == 0bv8); free requires (memory_load8_le(mem, 1898bv64) == 2bv8); free requires (memory_load8_le(mem, 1899bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 80bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 0bv8); + free requires (memory_load8_le(mem, 69025bv64) == 7bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 0bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -157,22 +137,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -182,6 +146,42 @@ procedure main() free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); ensures (memory_load32_le(mem, $y_addr) == 1bv32); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var x_old: bv32; lmain: diff --git a/src/test/correct/no_interference_update_y/gcc_no_plt_no_pic/no_interference_update_y.expected b/src/test/correct/no_interference_update_y/gcc_no_plt_no_pic/no_interference_update_y.expected index f0890cfe9..f65368b48 100644 --- a/src/test/correct/no_interference_update_y/gcc_no_plt_no_pic/no_interference_update_y.expected +++ b/src/test/correct/no_interference_update_y/gcc_no_plt_no_pic/no_interference_update_y.expected @@ -33,6 +33,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $y_addr) == old(memory_load32_le(mem, $y_addr))); + free ensures (memory_load8_le(mem, 1856bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1857bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1858bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1859bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -55,98 +91,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1856bv64) == 1bv8); free requires (memory_load8_le(mem, 1857bv64) == 0bv8); free requires (memory_load8_le(mem, 1858bv64) == 2bv8); free requires (memory_load8_le(mem, 1859bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -155,22 +135,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -180,6 +144,42 @@ procedure main() free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); ensures (memory_load32_le(mem, $y_addr) == 1bv32); + free ensures (memory_load8_le(mem, 1856bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1857bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1858bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1859bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var x_old: bv32; lmain: diff --git a/src/test/correct/no_interference_update_y/gcc_pic/no_interference_update_y.expected b/src/test/correct/no_interference_update_y/gcc_pic/no_interference_update_y.expected index c04667c31..ad4bdba5d 100644 --- a/src/test/correct/no_interference_update_y/gcc_pic/no_interference_update_y.expected +++ b/src/test/correct/no_interference_update_y/gcc_pic/no_interference_update_y.expected @@ -41,6 +41,50 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $y_addr) == old(memory_load32_le(mem, $y_addr))); + free ensures (memory_load8_le(mem, 1920bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1921bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1922bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1923bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69608bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69609bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69610bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69611bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69612bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69613bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69614bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69615bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -63,98 +107,26 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1920bv64) == 1bv8); free requires (memory_load8_le(mem, 1921bv64) == 0bv8); free requires (memory_load8_le(mem, 1922bv64) == 2bv8); free requires (memory_load8_le(mem, 1923bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 176bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 176bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 176bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 176bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 13bv8); - free requires (memory_load8_le(mem, 69578bv64) == 1bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); free requires (memory_load8_le(mem, 69608bv64) == 24bv8); free requires (memory_load8_le(mem, 69609bv64) == 16bv8); free requires (memory_load8_le(mem, 69610bv64) == 1bv8); @@ -163,30 +135,6 @@ procedure main() free requires (memory_load8_le(mem, 69613bv64) == 0bv8); free requires (memory_load8_le(mem, 69614bv64) == 0bv8); free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 84bv8); - free requires (memory_load8_le(mem, 69617bv64) == 7bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -195,7 +143,75 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 84bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 0bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 80bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); ensures (memory_load32_le(mem, $y_addr) == 1bv32); + free ensures (memory_load8_le(mem, 1920bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1921bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1922bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1923bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69608bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69609bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69610bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69611bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69612bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69613bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69614bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69615bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); { var x_old: bv32; lmain: diff --git a/src/test/correct/secret_write/clang/secret_write.expected b/src/test/correct/secret_write/clang/secret_write.expected index 7c3756687..186de9ccd 100644 --- a/src/test/correct/secret_write/clang/secret_write.expected +++ b/src/test/correct/secret_write/clang/secret_write.expected @@ -48,6 +48,42 @@ procedure rely(); ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $z_addr) == old(memory_load32_le(mem, $z_addr))); ensures (old(gamma_load32(Gamma_mem, $x_addr)) ==> gamma_load32(Gamma_mem, $x_addr)); + free ensures (memory_load8_le(mem, 1892bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1893bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1894bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1895bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -76,42 +112,42 @@ procedure main() requires (gamma_load32(Gamma_mem, $z_addr) == true); requires (gamma_load32(Gamma_mem, $secret_addr) == false); requires (memory_load32_le(mem, $z_addr) == 0bv32); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1892bv64) == 1bv8); free requires (memory_load8_le(mem, 1893bv64) == 0bv8); free requires (memory_load8_le(mem, 1894bv64) == 2bv8); free requires (memory_load8_le(mem, 1895bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -120,22 +156,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -144,6 +164,42 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1892bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1893bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1894bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1895bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var Gamma_x_old: bool; var z_old: bv32; diff --git a/src/test/correct/secret_write/clang_O2/secret_write.expected b/src/test/correct/secret_write/clang_O2/secret_write.expected index d7dd446ee..11b216945 100644 --- a/src/test/correct/secret_write/clang_O2/secret_write.expected +++ b/src/test/correct/secret_write/clang_O2/secret_write.expected @@ -46,6 +46,42 @@ procedure rely(); ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $z_addr) == old(memory_load32_le(mem, $z_addr))); ensures (old(gamma_load32(Gamma_mem, $x_addr)) ==> gamma_load32(Gamma_mem, $x_addr)); + free ensures (memory_load8_le(mem, 1860bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1861bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1862bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1863bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -74,42 +110,42 @@ procedure main() requires (gamma_load32(Gamma_mem, $z_addr) == true); requires (gamma_load32(Gamma_mem, $secret_addr) == false); requires (memory_load32_le(mem, $z_addr) == 0bv32); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1860bv64) == 1bv8); free requires (memory_load8_le(mem, 1861bv64) == 0bv8); free requires (memory_load8_le(mem, 1862bv64) == 2bv8); free requires (memory_load8_le(mem, 1863bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -118,22 +154,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -142,6 +162,42 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1860bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1861bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1862bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1863bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var Gamma_x_old: bool; var z_old: bv32; diff --git a/src/test/correct/secret_write/clang_no_plt_no_pic/secret_write.expected b/src/test/correct/secret_write/clang_no_plt_no_pic/secret_write.expected index 7c3756687..186de9ccd 100644 --- a/src/test/correct/secret_write/clang_no_plt_no_pic/secret_write.expected +++ b/src/test/correct/secret_write/clang_no_plt_no_pic/secret_write.expected @@ -48,6 +48,42 @@ procedure rely(); ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $z_addr) == old(memory_load32_le(mem, $z_addr))); ensures (old(gamma_load32(Gamma_mem, $x_addr)) ==> gamma_load32(Gamma_mem, $x_addr)); + free ensures (memory_load8_le(mem, 1892bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1893bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1894bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1895bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -76,42 +112,42 @@ procedure main() requires (gamma_load32(Gamma_mem, $z_addr) == true); requires (gamma_load32(Gamma_mem, $secret_addr) == false); requires (memory_load32_le(mem, $z_addr) == 0bv32); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1892bv64) == 1bv8); free requires (memory_load8_le(mem, 1893bv64) == 0bv8); free requires (memory_load8_le(mem, 1894bv64) == 2bv8); free requires (memory_load8_le(mem, 1895bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -120,22 +156,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -144,6 +164,42 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1892bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1893bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1894bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1895bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var Gamma_x_old: bool; var z_old: bv32; diff --git a/src/test/correct/secret_write/gcc/secret_write.expected b/src/test/correct/secret_write/gcc/secret_write.expected index 0608fd6be..5c1470977 100644 --- a/src/test/correct/secret_write/gcc/secret_write.expected +++ b/src/test/correct/secret_write/gcc/secret_write.expected @@ -44,6 +44,42 @@ procedure rely(); ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $z_addr) == old(memory_load32_le(mem, $z_addr))); ensures (old(gamma_load32(Gamma_mem, $x_addr)) ==> gamma_load32(Gamma_mem, $x_addr)); + free ensures (memory_load8_le(mem, 1944bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1945bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1946bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1947bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -72,98 +108,42 @@ procedure main() requires (gamma_load32(Gamma_mem, $z_addr) == true); requires (gamma_load32(Gamma_mem, $secret_addr) == false); requires (memory_load32_le(mem, $z_addr) == 0bv32); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1944bv64) == 1bv8); free requires (memory_load8_le(mem, 1945bv64) == 0bv8); free requires (memory_load8_le(mem, 1946bv64) == 2bv8); free requires (memory_load8_le(mem, 1947bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -172,22 +152,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -196,6 +160,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1944bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1945bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1946bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1947bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var Gamma_x_old: bool; var z_old: bv32; diff --git a/src/test/correct/secret_write/gcc_O2/secret_write.expected b/src/test/correct/secret_write/gcc_O2/secret_write.expected index 37530d8b8..4076b7b9f 100644 --- a/src/test/correct/secret_write/gcc_O2/secret_write.expected +++ b/src/test/correct/secret_write/gcc_O2/secret_write.expected @@ -46,6 +46,42 @@ procedure rely(); ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $z_addr) == old(memory_load32_le(mem, $z_addr))); ensures (old(gamma_load32(Gamma_mem, $x_addr)) ==> gamma_load32(Gamma_mem, $x_addr)); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -74,98 +110,42 @@ procedure main() requires (gamma_load32(Gamma_mem, $z_addr) == true); requires (gamma_load32(Gamma_mem, $secret_addr) == false); requires (memory_load32_le(mem, $z_addr) == 0bv32); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1896bv64) == 1bv8); free requires (memory_load8_le(mem, 1897bv64) == 0bv8); free requires (memory_load8_le(mem, 1898bv64) == 2bv8); free requires (memory_load8_le(mem, 1899bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 80bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 0bv8); + free requires (memory_load8_le(mem, 69025bv64) == 7bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 0bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -174,22 +154,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -198,6 +162,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var Gamma_x_old: bool; var z_old: bv32; diff --git a/src/test/correct/secret_write/gcc_no_plt_no_pic/secret_write.expected b/src/test/correct/secret_write/gcc_no_plt_no_pic/secret_write.expected index 0608fd6be..5c1470977 100644 --- a/src/test/correct/secret_write/gcc_no_plt_no_pic/secret_write.expected +++ b/src/test/correct/secret_write/gcc_no_plt_no_pic/secret_write.expected @@ -44,6 +44,42 @@ procedure rely(); ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $z_addr) == old(memory_load32_le(mem, $z_addr))); ensures (old(gamma_load32(Gamma_mem, $x_addr)) ==> gamma_load32(Gamma_mem, $x_addr)); + free ensures (memory_load8_le(mem, 1944bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1945bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1946bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1947bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -72,98 +108,42 @@ procedure main() requires (gamma_load32(Gamma_mem, $z_addr) == true); requires (gamma_load32(Gamma_mem, $secret_addr) == false); requires (memory_load32_le(mem, $z_addr) == 0bv32); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1944bv64) == 1bv8); free requires (memory_load8_le(mem, 1945bv64) == 0bv8); free requires (memory_load8_le(mem, 1946bv64) == 2bv8); free requires (memory_load8_le(mem, 1947bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -172,22 +152,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -196,6 +160,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1944bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1945bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1946bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1947bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var Gamma_x_old: bool; var z_old: bv32; diff --git a/src/test/correct/simple_jump/clang/simple_jump.expected b/src/test/correct/simple_jump/clang/simple_jump.expected index fe20b8391..922e5e206 100644 --- a/src/test/correct/simple_jump/clang/simple_jump.expected +++ b/src/test/correct/simple_jump/clang/simple_jump.expected @@ -42,9 +42,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1892bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1893bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1894bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1895bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -62,42 +97,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_stack, R0, R31, R8, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1892bv64) == 1bv8); free requires (memory_load8_le(mem, 1893bv64) == 0bv8); free requires (memory_load8_le(mem, 1894bv64) == 2bv8); free requires (memory_load8_le(mem, 1895bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -106,22 +141,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -132,6 +151,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1892bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1893bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1894bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1895bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/simple_jump/clang_O2/simple_jump.expected b/src/test/correct/simple_jump/clang_O2/simple_jump.expected index 3b757ebc7..36dff27e4 100644 --- a/src/test/correct/simple_jump/clang_O2/simple_jump.expected +++ b/src/test/correct/simple_jump/clang_O2/simple_jump.expected @@ -10,9 +10,44 @@ function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1840bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1841bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1842bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1843bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -30,42 +65,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, R0; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1840bv64) == 1bv8); free requires (memory_load8_le(mem, 1841bv64) == 0bv8); free requires (memory_load8_le(mem, 1842bv64) == 2bv8); free requires (memory_load8_le(mem, 1843bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -74,22 +109,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -98,6 +117,42 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1840bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1841bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1842bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1843bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { lmain: R0, Gamma_R0 := 0bv64, true; diff --git a/src/test/correct/simple_jump/clang_no_plt_no_pic/simple_jump.expected b/src/test/correct/simple_jump/clang_no_plt_no_pic/simple_jump.expected index 14cf9f228..6c84f40d2 100644 --- a/src/test/correct/simple_jump/clang_no_plt_no_pic/simple_jump.expected +++ b/src/test/correct/simple_jump/clang_no_plt_no_pic/simple_jump.expected @@ -42,9 +42,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1892bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1893bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1894bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1895bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -62,42 +97,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_stack, R0, R31, R8, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1892bv64) == 1bv8); free requires (memory_load8_le(mem, 1893bv64) == 0bv8); free requires (memory_load8_le(mem, 1894bv64) == 2bv8); free requires (memory_load8_le(mem, 1895bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -106,22 +141,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -132,6 +151,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1892bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1893bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1894bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1895bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/simple_jump/clang_pic/simple_jump.expected b/src/test/correct/simple_jump/clang_pic/simple_jump.expected index 14cf9f228..6c84f40d2 100644 --- a/src/test/correct/simple_jump/clang_pic/simple_jump.expected +++ b/src/test/correct/simple_jump/clang_pic/simple_jump.expected @@ -42,9 +42,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1892bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1893bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1894bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1895bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -62,42 +97,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_stack, R0, R31, R8, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1892bv64) == 1bv8); free requires (memory_load8_le(mem, 1893bv64) == 0bv8); free requires (memory_load8_le(mem, 1894bv64) == 2bv8); free requires (memory_load8_le(mem, 1895bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -106,22 +141,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -132,6 +151,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1892bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1893bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1894bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1895bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/simple_jump/gcc/simple_jump.expected b/src/test/correct/simple_jump/gcc/simple_jump.expected index 5f02e17f9..9c8f621e3 100644 --- a/src/test/correct/simple_jump/gcc/simple_jump.expected +++ b/src/test/correct/simple_jump/gcc/simple_jump.expected @@ -40,9 +40,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1876bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1877bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1878bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1879bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -60,98 +95,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R31, Gamma_stack, R0, R31, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1876bv64) == 1bv8); free requires (memory_load8_le(mem, 1877bv64) == 0bv8); free requires (memory_load8_le(mem, 1878bv64) == 2bv8); free requires (memory_load8_le(mem, 1879bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -160,22 +139,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -186,6 +149,42 @@ procedure main() free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1876bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1877bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1878bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1879bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/simple_jump/gcc_O2/simple_jump.expected b/src/test/correct/simple_jump/gcc_O2/simple_jump.expected index 4644d729c..362cf9929 100644 --- a/src/test/correct/simple_jump/gcc_O2/simple_jump.expected +++ b/src/test/correct/simple_jump/gcc_O2/simple_jump.expected @@ -10,9 +10,44 @@ function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -30,98 +65,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, R0; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1896bv64) == 1bv8); free requires (memory_load8_le(mem, 1897bv64) == 0bv8); free requires (memory_load8_le(mem, 1898bv64) == 2bv8); free requires (memory_load8_le(mem, 1899bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 80bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 0bv8); + free requires (memory_load8_le(mem, 69025bv64) == 7bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 0bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -130,22 +109,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -154,6 +117,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lmain: R0, Gamma_R0 := 0bv64, true; diff --git a/src/test/correct/simple_jump/gcc_no_plt_no_pic/simple_jump.expected b/src/test/correct/simple_jump/gcc_no_plt_no_pic/simple_jump.expected index b7d129da2..df7fd8074 100644 --- a/src/test/correct/simple_jump/gcc_no_plt_no_pic/simple_jump.expected +++ b/src/test/correct/simple_jump/gcc_no_plt_no_pic/simple_jump.expected @@ -40,9 +40,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1876bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1877bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1878bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1879bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -60,98 +95,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R31, Gamma_stack, R0, R31, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1876bv64) == 1bv8); free requires (memory_load8_le(mem, 1877bv64) == 0bv8); free requires (memory_load8_le(mem, 1878bv64) == 2bv8); free requires (memory_load8_le(mem, 1879bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -160,22 +139,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -186,6 +149,42 @@ procedure main() free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1876bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1877bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1878bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1879bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/simple_jump/gcc_pic/simple_jump.expected b/src/test/correct/simple_jump/gcc_pic/simple_jump.expected index b7d129da2..df7fd8074 100644 --- a/src/test/correct/simple_jump/gcc_pic/simple_jump.expected +++ b/src/test/correct/simple_jump/gcc_pic/simple_jump.expected @@ -40,9 +40,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1876bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1877bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1878bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1879bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -60,98 +95,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R31, Gamma_stack, R0, R31, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1876bv64) == 1bv8); free requires (memory_load8_le(mem, 1877bv64) == 0bv8); free requires (memory_load8_le(mem, 1878bv64) == 2bv8); free requires (memory_load8_le(mem, 1879bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -160,22 +139,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -186,6 +149,42 @@ procedure main() free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1876bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1877bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1878bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1879bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/switch/clang/switch.expected b/src/test/correct/switch/clang/switch.expected index ed5a43955..f7003be14 100644 --- a/src/test/correct/switch/clang/switch.expected +++ b/src/test/correct/switch/clang/switch.expected @@ -40,9 +40,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1936bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1937bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1938bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1939bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -60,42 +95,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R31, Gamma_R8, Gamma_stack, R31, R8, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1936bv64) == 1bv8); free requires (memory_load8_le(mem, 1937bv64) == 0bv8); free requires (memory_load8_le(mem, 1938bv64) == 2bv8); free requires (memory_load8_le(mem, 1939bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -104,22 +139,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -130,6 +149,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1936bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1937bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1938bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1939bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv32; var #5: bv32; diff --git a/src/test/correct/switch/clang_O2/switch.expected b/src/test/correct/switch/clang_O2/switch.expected index becc885ef..a90fe6a8c 100644 --- a/src/test/correct/switch/clang_O2/switch.expected +++ b/src/test/correct/switch/clang_O2/switch.expected @@ -8,9 +8,44 @@ function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1836bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1837bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1838bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1839bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -27,42 +62,42 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure main() + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1836bv64) == 1bv8); free requires (memory_load8_le(mem, 1837bv64) == 0bv8); free requires (memory_load8_le(mem, 1838bv64) == 2bv8); free requires (memory_load8_le(mem, 1839bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -71,22 +106,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -95,6 +114,42 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1836bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1837bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1838bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1839bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { lmain: return; diff --git a/src/test/correct/switch/clang_no_plt_no_pic/switch.expected b/src/test/correct/switch/clang_no_plt_no_pic/switch.expected index 114804624..cd0c460d7 100644 --- a/src/test/correct/switch/clang_no_plt_no_pic/switch.expected +++ b/src/test/correct/switch/clang_no_plt_no_pic/switch.expected @@ -40,9 +40,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1936bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1937bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1938bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1939bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -60,42 +95,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R31, Gamma_R8, Gamma_stack, R31, R8, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1936bv64) == 1bv8); free requires (memory_load8_le(mem, 1937bv64) == 0bv8); free requires (memory_load8_le(mem, 1938bv64) == 2bv8); free requires (memory_load8_le(mem, 1939bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -104,22 +139,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -130,6 +149,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1936bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1937bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1938bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1939bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv32; var #5: bv32; diff --git a/src/test/correct/switch/clang_pic/switch.expected b/src/test/correct/switch/clang_pic/switch.expected index 114804624..cd0c460d7 100644 --- a/src/test/correct/switch/clang_pic/switch.expected +++ b/src/test/correct/switch/clang_pic/switch.expected @@ -40,9 +40,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1936bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1937bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1938bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1939bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -60,42 +95,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R31, Gamma_R8, Gamma_stack, R31, R8, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1936bv64) == 1bv8); free requires (memory_load8_le(mem, 1937bv64) == 0bv8); free requires (memory_load8_le(mem, 1938bv64) == 2bv8); free requires (memory_load8_le(mem, 1939bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -104,22 +139,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -130,6 +149,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1936bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1937bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1938bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1939bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv32; var #5: bv32; diff --git a/src/test/correct/switch/gcc/switch.expected b/src/test/correct/switch/gcc/switch.expected index 802ed3f0b..03542426a 100644 --- a/src/test/correct/switch/gcc/switch.expected +++ b/src/test/correct/switch/gcc/switch.expected @@ -40,9 +40,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1916bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1917bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1918bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1919bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -60,98 +95,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R31, Gamma_stack, R0, R31, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1916bv64) == 1bv8); free requires (memory_load8_le(mem, 1917bv64) == 0bv8); free requires (memory_load8_le(mem, 1918bv64) == 2bv8); free requires (memory_load8_le(mem, 1919bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -160,22 +139,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -186,6 +149,42 @@ procedure main() free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1916bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1917bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1918bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1919bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv32; var #5: bv32; diff --git a/src/test/correct/switch/gcc_O2/switch.expected b/src/test/correct/switch/gcc_O2/switch.expected index 8fa93165d..9b4a9cae8 100644 --- a/src/test/correct/switch/gcc_O2/switch.expected +++ b/src/test/correct/switch/gcc_O2/switch.expected @@ -8,9 +8,44 @@ function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -27,98 +62,42 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure main() + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1896bv64) == 1bv8); free requires (memory_load8_le(mem, 1897bv64) == 0bv8); free requires (memory_load8_le(mem, 1898bv64) == 2bv8); free requires (memory_load8_le(mem, 1899bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 80bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 0bv8); + free requires (memory_load8_le(mem, 69025bv64) == 7bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 0bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -127,22 +106,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -151,6 +114,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lmain: return; diff --git a/src/test/correct/switch/gcc_no_plt_no_pic/switch.expected b/src/test/correct/switch/gcc_no_plt_no_pic/switch.expected index 46af1a027..0969f74f3 100644 --- a/src/test/correct/switch/gcc_no_plt_no_pic/switch.expected +++ b/src/test/correct/switch/gcc_no_plt_no_pic/switch.expected @@ -40,9 +40,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1916bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1917bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1918bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1919bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -60,98 +95,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R31, Gamma_stack, R0, R31, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1916bv64) == 1bv8); free requires (memory_load8_le(mem, 1917bv64) == 0bv8); free requires (memory_load8_le(mem, 1918bv64) == 2bv8); free requires (memory_load8_le(mem, 1919bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -160,22 +139,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -186,6 +149,42 @@ procedure main() free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1916bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1917bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1918bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1919bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv32; var #5: bv32; diff --git a/src/test/correct/switch/gcc_pic/switch.expected b/src/test/correct/switch/gcc_pic/switch.expected index 46af1a027..0969f74f3 100644 --- a/src/test/correct/switch/gcc_pic/switch.expected +++ b/src/test/correct/switch/gcc_pic/switch.expected @@ -40,9 +40,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1916bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1917bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1918bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1919bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -60,98 +95,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R31, Gamma_stack, R0, R31, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1916bv64) == 1bv8); free requires (memory_load8_le(mem, 1917bv64) == 0bv8); free requires (memory_load8_le(mem, 1918bv64) == 2bv8); free requires (memory_load8_le(mem, 1919bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -160,22 +139,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -186,6 +149,42 @@ procedure main() free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1916bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1917bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1918bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1919bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv32; var #5: bv32; diff --git a/src/test/correct/switch2/clang_O2/switch2.expected b/src/test/correct/switch2/clang_O2/switch2.expected index 98527a144..75137eb25 100644 --- a/src/test/correct/switch2/clang_O2/switch2.expected +++ b/src/test/correct/switch2/clang_O2/switch2.expected @@ -8,9 +8,44 @@ function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1844bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1845bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1846bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1847bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 28bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -27,42 +62,42 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure main() + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1844bv64) == 1bv8); free requires (memory_load8_le(mem, 1845bv64) == 0bv8); free requires (memory_load8_le(mem, 1846bv64) == 2bv8); free requires (memory_load8_le(mem, 1847bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 28bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -71,22 +106,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -95,6 +114,42 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1844bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1845bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1846bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1847bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 28bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { lmain: return; diff --git a/src/test/correct/switch2/gcc_O2/switch2.expected b/src/test/correct/switch2/gcc_O2/switch2.expected index fb51e7264..851f4b0c8 100644 --- a/src/test/correct/switch2/gcc_O2/switch2.expected +++ b/src/test/correct/switch2/gcc_O2/switch2.expected @@ -8,9 +8,44 @@ function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1916bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1917bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1918bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1919bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -27,98 +62,42 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure main() + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1916bv64) == 1bv8); free requires (memory_load8_le(mem, 1917bv64) == 0bv8); free requires (memory_load8_le(mem, 1918bv64) == 2bv8); free requires (memory_load8_le(mem, 1919bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 80bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 0bv8); + free requires (memory_load8_le(mem, 69025bv64) == 7bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 0bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -127,22 +106,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -151,6 +114,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1916bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1917bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1918bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1919bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lmain: return; diff --git a/src/test/correct/syscall/clang/syscall.expected b/src/test/correct/syscall/clang/syscall.expected index 16fdd2f6e..77537aff5 100644 --- a/src/test/correct/syscall/clang/syscall.expected +++ b/src/test/correct/syscall/clang/syscall.expected @@ -58,9 +58,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1944bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1945bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1946bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1947bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -77,45 +112,26 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure fork(); - -procedure main() - modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 1944bv64) == 1bv8); free requires (memory_load8_le(mem, 1945bv64) == 0bv8); free requires (memory_load8_le(mem, 1946bv64) == 2bv8); free requires (memory_load8_le(mem, 1947bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 84bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -124,14 +140,53 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1944bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1945bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1946bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1947bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 69672bv64) == 0bv8); free requires (memory_load8_le(mem, 69673bv64) == 0bv8); free requires (memory_load8_le(mem, 69674bv64) == 0bv8); @@ -148,10 +203,82 @@ procedure main() free requires (memory_load8_le(mem, 69685bv64) == 0bv8); free requires (memory_load8_le(mem, 69686bv64) == 0bv8); free requires (memory_load8_le(mem, 69687bv64) == 0bv8); + free requires (memory_load8_le(mem, 1944bv64) == 1bv8); + free requires (memory_load8_le(mem, 1945bv64) == 0bv8); + free requires (memory_load8_le(mem, 1946bv64) == 2bv8); + free requires (memory_load8_le(mem, 1947bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 84bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1944bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1945bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1946bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1947bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); { var #4: bv64; var #5: bv64; diff --git a/src/test/correct/syscall/clang_O2/syscall.expected b/src/test/correct/syscall/clang_O2/syscall.expected index c7a9abf3f..2ca547a79 100644 --- a/src/test/correct/syscall/clang_O2/syscall.expected +++ b/src/test/correct/syscall/clang_O2/syscall.expected @@ -25,9 +25,44 @@ function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1900bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1901bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1902bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1903bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -45,42 +80,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 69672bv64) == 0bv8); + free requires (memory_load8_le(mem, 69673bv64) == 0bv8); + free requires (memory_load8_le(mem, 69674bv64) == 0bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); free requires (memory_load8_le(mem, 1900bv64) == 1bv8); free requires (memory_load8_le(mem, 1901bv64) == 0bv8); free requires (memory_load8_le(mem, 1902bv64) == 2bv8); free requires (memory_load8_le(mem, 1903bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 84bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -89,22 +124,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 0bv8); - free requires (memory_load8_le(mem, 69673bv64) == 0bv8); - free requires (memory_load8_le(mem, 69674bv64) == 0bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 69680bv64) == 48bv8); free requires (memory_load8_le(mem, 69681bv64) == 16bv8); free requires (memory_load8_le(mem, 69682bv64) == 1bv8); @@ -113,6 +132,42 @@ procedure main() free requires (memory_load8_le(mem, 69685bv64) == 0bv8); free requires (memory_load8_le(mem, 69686bv64) == 0bv8); free requires (memory_load8_le(mem, 69687bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1900bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1901bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1902bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1903bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); { lmain: goto lfork; diff --git a/src/test/correct/syscall/clang_no_plt_no_pic/syscall.expected b/src/test/correct/syscall/clang_no_plt_no_pic/syscall.expected index 0f5470f62..77c496ff6 100644 --- a/src/test/correct/syscall/clang_no_plt_no_pic/syscall.expected +++ b/src/test/correct/syscall/clang_no_plt_no_pic/syscall.expected @@ -58,9 +58,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1944bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1945bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1946bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1947bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -77,45 +112,26 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure fork(); - -procedure main() - modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 1944bv64) == 1bv8); free requires (memory_load8_le(mem, 1945bv64) == 0bv8); free requires (memory_load8_le(mem, 1946bv64) == 2bv8); free requires (memory_load8_le(mem, 1947bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 84bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -124,14 +140,53 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1944bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1945bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1946bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1947bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 69672bv64) == 0bv8); free requires (memory_load8_le(mem, 69673bv64) == 0bv8); free requires (memory_load8_le(mem, 69674bv64) == 0bv8); @@ -148,10 +203,82 @@ procedure main() free requires (memory_load8_le(mem, 69685bv64) == 0bv8); free requires (memory_load8_le(mem, 69686bv64) == 0bv8); free requires (memory_load8_le(mem, 69687bv64) == 0bv8); + free requires (memory_load8_le(mem, 1944bv64) == 1bv8); + free requires (memory_load8_le(mem, 1945bv64) == 0bv8); + free requires (memory_load8_le(mem, 1946bv64) == 2bv8); + free requires (memory_load8_le(mem, 1947bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 84bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1944bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1945bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1946bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1947bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); { var #4: bv64; var #5: bv64; diff --git a/src/test/correct/syscall/clang_pic/syscall.expected b/src/test/correct/syscall/clang_pic/syscall.expected index 0f5470f62..77c496ff6 100644 --- a/src/test/correct/syscall/clang_pic/syscall.expected +++ b/src/test/correct/syscall/clang_pic/syscall.expected @@ -58,9 +58,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1944bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1945bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1946bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1947bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -77,45 +112,26 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure fork(); - -procedure main() - modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 1944bv64) == 1bv8); free requires (memory_load8_le(mem, 1945bv64) == 0bv8); free requires (memory_load8_le(mem, 1946bv64) == 2bv8); free requires (memory_load8_le(mem, 1947bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 84bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -124,14 +140,53 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1944bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1945bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1946bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1947bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 69672bv64) == 0bv8); free requires (memory_load8_le(mem, 69673bv64) == 0bv8); free requires (memory_load8_le(mem, 69674bv64) == 0bv8); @@ -148,10 +203,82 @@ procedure main() free requires (memory_load8_le(mem, 69685bv64) == 0bv8); free requires (memory_load8_le(mem, 69686bv64) == 0bv8); free requires (memory_load8_le(mem, 69687bv64) == 0bv8); + free requires (memory_load8_le(mem, 1944bv64) == 1bv8); + free requires (memory_load8_le(mem, 1945bv64) == 0bv8); + free requires (memory_load8_le(mem, 1946bv64) == 2bv8); + free requires (memory_load8_le(mem, 1947bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 84bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1944bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1945bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1946bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1947bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); { var #4: bv64; var #5: bv64; diff --git a/src/test/correct/syscall/gcc/syscall.expected b/src/test/correct/syscall/gcc/syscall.expected index 8253b9ba8..397096050 100644 --- a/src/test/correct/syscall/gcc/syscall.expected +++ b/src/test/correct/syscall/gcc/syscall.expected @@ -58,9 +58,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1932bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1933bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1934bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1935bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -77,109 +112,26 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure fork(); - -procedure main() - modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 1932bv64) == 1bv8); free requires (memory_load8_le(mem, 1933bv64) == 0bv8); free requires (memory_load8_le(mem, 1934bv64) == 2bv8); free requires (memory_load8_le(mem, 1935bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 208bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 208bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 208bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 208bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 160bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 80bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 0bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 84bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -188,14 +140,53 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1932bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1933bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1934bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1935bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -212,10 +203,82 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 1932bv64) == 1bv8); + free requires (memory_load8_le(mem, 1933bv64) == 0bv8); + free requires (memory_load8_le(mem, 1934bv64) == 2bv8); + free requires (memory_load8_le(mem, 1935bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 80bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 0bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 84bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1932bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1933bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1934bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1935bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; diff --git a/src/test/correct/syscall/gcc_O2/syscall.expected b/src/test/correct/syscall/gcc_O2/syscall.expected index 619bb12a0..fd6b1bfe6 100644 --- a/src/test/correct/syscall/gcc_O2/syscall.expected +++ b/src/test/correct/syscall/gcc_O2/syscall.expected @@ -8,9 +8,44 @@ function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1960bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1961bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1962bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1963bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 144bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -27,106 +62,42 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure fork(); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1960bv64) == 1bv8); free requires (memory_load8_le(mem, 1961bv64) == 0bv8); free requires (memory_load8_le(mem, 1962bv64) == 2bv8); free requires (memory_load8_le(mem, 1963bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 208bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 208bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 208bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 208bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 160bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 144bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 64bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 64bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -135,22 +106,6 @@ procedure fork(); free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -159,3 +114,39 @@ procedure fork(); free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1960bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1961bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1962bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1963bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 144bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); diff --git a/src/test/correct/syscall/gcc_no_plt_no_pic/syscall.expected b/src/test/correct/syscall/gcc_no_plt_no_pic/syscall.expected index 08e7d79c7..9750a0314 100644 --- a/src/test/correct/syscall/gcc_no_plt_no_pic/syscall.expected +++ b/src/test/correct/syscall/gcc_no_plt_no_pic/syscall.expected @@ -58,9 +58,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1932bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1933bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1934bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1935bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -77,109 +112,26 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure fork(); - -procedure main() - modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 1932bv64) == 1bv8); free requires (memory_load8_le(mem, 1933bv64) == 0bv8); free requires (memory_load8_le(mem, 1934bv64) == 2bv8); free requires (memory_load8_le(mem, 1935bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 208bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 208bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 208bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 208bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 160bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 80bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 0bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 84bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -188,14 +140,53 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1932bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1933bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1934bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1935bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -212,10 +203,82 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 1932bv64) == 1bv8); + free requires (memory_load8_le(mem, 1933bv64) == 0bv8); + free requires (memory_load8_le(mem, 1934bv64) == 2bv8); + free requires (memory_load8_le(mem, 1935bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 80bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 0bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 84bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1932bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1933bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1934bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1935bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; diff --git a/src/test/correct/syscall/gcc_pic/syscall.expected b/src/test/correct/syscall/gcc_pic/syscall.expected index 08e7d79c7..9750a0314 100644 --- a/src/test/correct/syscall/gcc_pic/syscall.expected +++ b/src/test/correct/syscall/gcc_pic/syscall.expected @@ -58,9 +58,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1932bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1933bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1934bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1935bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -77,109 +112,26 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure fork(); - -procedure main() - modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 1932bv64) == 1bv8); free requires (memory_load8_le(mem, 1933bv64) == 0bv8); free requires (memory_load8_le(mem, 1934bv64) == 2bv8); free requires (memory_load8_le(mem, 1935bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 208bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 208bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 208bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 208bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 160bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 80bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 0bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 84bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -188,14 +140,53 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1932bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1933bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1934bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1935bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -212,10 +203,82 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 1932bv64) == 1bv8); + free requires (memory_load8_le(mem, 1933bv64) == 0bv8); + free requires (memory_load8_le(mem, 1934bv64) == 2bv8); + free requires (memory_load8_le(mem, 1935bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 80bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 0bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 84bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1932bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1933bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1934bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1935bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; diff --git a/src/test/correct/using_gamma_conditional/clang/using_gamma_conditional.expected b/src/test/correct/using_gamma_conditional/clang/using_gamma_conditional.expected index dbef03e74..1366ba47d 100644 --- a/src/test/correct/using_gamma_conditional/clang/using_gamma_conditional.expected +++ b/src/test/correct/using_gamma_conditional/clang/using_gamma_conditional.expected @@ -50,6 +50,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (old(gamma_load32(Gamma_mem, $x_addr)) ==> gamma_load32(Gamma_mem, $x_addr)); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -73,42 +109,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_stack, R0, R31, R8, stack; requires (gamma_load32(Gamma_mem, $x_addr) == true); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1896bv64) == 1bv8); free requires (memory_load8_le(mem, 1897bv64) == 0bv8); free requires (memory_load8_le(mem, 1898bv64) == 2bv8); free requires (memory_load8_le(mem, 1899bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -117,22 +153,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -143,6 +163,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/using_gamma_conditional/clang_O2/using_gamma_conditional.expected b/src/test/correct/using_gamma_conditional/clang_O2/using_gamma_conditional.expected index 8b5400e1f..f8b125460 100644 --- a/src/test/correct/using_gamma_conditional/clang_O2/using_gamma_conditional.expected +++ b/src/test/correct/using_gamma_conditional/clang_O2/using_gamma_conditional.expected @@ -38,6 +38,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (old(gamma_load32(Gamma_mem, $x_addr)) ==> gamma_load32(Gamma_mem, $x_addr)); + free ensures (memory_load8_le(mem, 1852bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1853bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1854bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1855bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -61,42 +97,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R8, R0, R8; requires (gamma_load32(Gamma_mem, $x_addr) == true); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1852bv64) == 1bv8); free requires (memory_load8_le(mem, 1853bv64) == 0bv8); free requires (memory_load8_le(mem, 1854bv64) == 2bv8); free requires (memory_load8_le(mem, 1855bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -105,22 +141,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -129,6 +149,42 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1852bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1853bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1854bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1855bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/using_gamma_conditional/clang_no_plt_no_pic/using_gamma_conditional.expected b/src/test/correct/using_gamma_conditional/clang_no_plt_no_pic/using_gamma_conditional.expected index 3b5c2e76e..8b13a29d1 100644 --- a/src/test/correct/using_gamma_conditional/clang_no_plt_no_pic/using_gamma_conditional.expected +++ b/src/test/correct/using_gamma_conditional/clang_no_plt_no_pic/using_gamma_conditional.expected @@ -50,6 +50,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (old(gamma_load32(Gamma_mem, $x_addr)) ==> gamma_load32(Gamma_mem, $x_addr)); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -73,42 +109,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_stack, R0, R31, R8, stack; requires (gamma_load32(Gamma_mem, $x_addr) == true); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1896bv64) == 1bv8); free requires (memory_load8_le(mem, 1897bv64) == 0bv8); free requires (memory_load8_le(mem, 1898bv64) == 2bv8); free requires (memory_load8_le(mem, 1899bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -117,22 +153,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -143,6 +163,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/using_gamma_conditional/clang_pic/using_gamma_conditional.expected b/src/test/correct/using_gamma_conditional/clang_pic/using_gamma_conditional.expected index 0588157ee..2c7470014 100644 --- a/src/test/correct/using_gamma_conditional/clang_pic/using_gamma_conditional.expected +++ b/src/test/correct/using_gamma_conditional/clang_pic/using_gamma_conditional.expected @@ -58,6 +58,50 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (old(gamma_load32(Gamma_mem, $x_addr)) ==> gamma_load32(Gamma_mem, $x_addr)); + free ensures (memory_load8_le(mem, 1964bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1965bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1966bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1967bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69576bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69577bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69578bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69579bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69580bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69581bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69582bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69583bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -81,34 +125,26 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_stack, R0, R31, R8, stack; requires (gamma_load32(Gamma_mem, $x_addr) == true); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1964bv64) == 1bv8); free requires (memory_load8_le(mem, 1965bv64) == 0bv8); free requires (memory_load8_le(mem, 1966bv64) == 2bv8); free requires (memory_load8_le(mem, 1967bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 13bv8); - free requires (memory_load8_le(mem, 69554bv64) == 1bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 0bv8); - free requires (memory_load8_le(mem, 69561bv64) == 0bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); free requires (memory_load8_le(mem, 69576bv64) == 52bv8); free requires (memory_load8_le(mem, 69577bv64) == 16bv8); free requires (memory_load8_le(mem, 69578bv64) == 1bv8); @@ -117,38 +153,6 @@ procedure main() free requires (memory_load8_le(mem, 69581bv64) == 0bv8); free requires (memory_load8_le(mem, 69582bv64) == 0bv8); free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 84bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -157,8 +161,76 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69056bv64) == 80bv8); + free requires (memory_load8_le(mem, 69057bv64) == 7bv8); + free requires (memory_load8_le(mem, 69058bv64) == 0bv8); + free requires (memory_load8_le(mem, 69059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69060bv64) == 0bv8); + free requires (memory_load8_le(mem, 69061bv64) == 0bv8); + free requires (memory_load8_le(mem, 69062bv64) == 0bv8); + free requires (memory_load8_le(mem, 69063bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 0bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 84bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1964bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1965bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1966bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1967bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69576bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69577bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69578bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69579bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69580bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69581bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69582bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69583bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/using_gamma_conditional/gcc/using_gamma_conditional.expected b/src/test/correct/using_gamma_conditional/gcc/using_gamma_conditional.expected index 6af89b364..af0b54129 100644 --- a/src/test/correct/using_gamma_conditional/gcc/using_gamma_conditional.expected +++ b/src/test/correct/using_gamma_conditional/gcc/using_gamma_conditional.expected @@ -36,6 +36,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (old(gamma_load32(Gamma_mem, $x_addr)) ==> gamma_load32(Gamma_mem, $x_addr)); + free ensures (memory_load8_le(mem, 1868bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1869bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1870bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1871bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -59,98 +95,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, R0; requires (gamma_load32(Gamma_mem, $x_addr) == true); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1868bv64) == 1bv8); free requires (memory_load8_le(mem, 1869bv64) == 0bv8); free requires (memory_load8_le(mem, 1870bv64) == 2bv8); free requires (memory_load8_le(mem, 1871bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -159,22 +139,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -183,6 +147,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1868bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1869bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1870bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1871bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/using_gamma_conditional/gcc_O2/using_gamma_conditional.expected b/src/test/correct/using_gamma_conditional/gcc_O2/using_gamma_conditional.expected index caf029788..bce9179d5 100644 --- a/src/test/correct/using_gamma_conditional/gcc_O2/using_gamma_conditional.expected +++ b/src/test/correct/using_gamma_conditional/gcc_O2/using_gamma_conditional.expected @@ -36,6 +36,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (old(gamma_load32(Gamma_mem, $x_addr)) ==> gamma_load32(Gamma_mem, $x_addr)); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -59,98 +95,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, R0; requires (gamma_load32(Gamma_mem, $x_addr) == true); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1896bv64) == 1bv8); free requires (memory_load8_le(mem, 1897bv64) == 0bv8); free requires (memory_load8_le(mem, 1898bv64) == 2bv8); free requires (memory_load8_le(mem, 1899bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 80bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 0bv8); + free requires (memory_load8_le(mem, 69025bv64) == 7bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 0bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -159,22 +139,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -183,6 +147,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #1: bv32; var CF: bv1; diff --git a/src/test/correct/using_gamma_conditional/gcc_no_plt_no_pic/using_gamma_conditional.expected b/src/test/correct/using_gamma_conditional/gcc_no_plt_no_pic/using_gamma_conditional.expected index 0013e82ba..67552ae10 100644 --- a/src/test/correct/using_gamma_conditional/gcc_no_plt_no_pic/using_gamma_conditional.expected +++ b/src/test/correct/using_gamma_conditional/gcc_no_plt_no_pic/using_gamma_conditional.expected @@ -36,6 +36,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (old(gamma_load32(Gamma_mem, $x_addr)) ==> gamma_load32(Gamma_mem, $x_addr)); + free ensures (memory_load8_le(mem, 1868bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1869bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1870bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1871bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -59,98 +95,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, R0; requires (gamma_load32(Gamma_mem, $x_addr) == true); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1868bv64) == 1bv8); free requires (memory_load8_le(mem, 1869bv64) == 0bv8); free requires (memory_load8_le(mem, 1870bv64) == 2bv8); free requires (memory_load8_le(mem, 1871bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -159,22 +139,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -183,6 +147,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1868bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1869bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1870bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1871bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/using_gamma_conditional/gcc_pic/using_gamma_conditional.expected b/src/test/correct/using_gamma_conditional/gcc_pic/using_gamma_conditional.expected index 101108d10..d193446f5 100644 --- a/src/test/correct/using_gamma_conditional/gcc_pic/using_gamma_conditional.expected +++ b/src/test/correct/using_gamma_conditional/gcc_pic/using_gamma_conditional.expected @@ -44,6 +44,50 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (old(gamma_load32(Gamma_mem, $x_addr)) ==> gamma_load32(Gamma_mem, $x_addr)); + free ensures (memory_load8_le(mem, 1932bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1933bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1934bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1935bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69600bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69601bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69602bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69603bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69604bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69605bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69606bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69607bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -67,122 +111,6 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, R0; requires (gamma_load32(Gamma_mem, $x_addr) == true); - free requires (memory_load8_le(mem, 1932bv64) == 1bv8); - free requires (memory_load8_le(mem, 1933bv64) == 0bv8); - free requires (memory_load8_le(mem, 1934bv64) == 2bv8); - free requires (memory_load8_le(mem, 1935bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 176bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 176bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 176bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 176bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 13bv8); - free requires (memory_load8_le(mem, 69578bv64) == 1bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 20bv8); - free requires (memory_load8_le(mem, 69601bv64) == 16bv8); - free requires (memory_load8_le(mem, 69602bv64) == 1bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 84bv8); - free requires (memory_load8_le(mem, 69617bv64) == 7bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -199,6 +127,94 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 1932bv64) == 1bv8); + free requires (memory_load8_le(mem, 1933bv64) == 0bv8); + free requires (memory_load8_le(mem, 1934bv64) == 2bv8); + free requires (memory_load8_le(mem, 1935bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 84bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 0bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69600bv64) == 20bv8); + free requires (memory_load8_le(mem, 69601bv64) == 16bv8); + free requires (memory_load8_le(mem, 69602bv64) == 1bv8); + free requires (memory_load8_le(mem, 69603bv64) == 0bv8); + free requires (memory_load8_le(mem, 69604bv64) == 0bv8); + free requires (memory_load8_le(mem, 69605bv64) == 0bv8); + free requires (memory_load8_le(mem, 69606bv64) == 0bv8); + free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 80bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1932bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1933bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1934bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1935bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69600bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69601bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69602bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69603bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69604bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69605bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69606bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69607bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/correct/using_gamma_write_z/clang/using_gamma_write_z.expected b/src/test/correct/using_gamma_write_z/clang/using_gamma_write_z.expected index fb27ffd6c..ac3f77620 100644 --- a/src/test/correct/using_gamma_write_z/clang/using_gamma_write_z.expected +++ b/src/test/correct/using_gamma_write_z/clang/using_gamma_write_z.expected @@ -39,6 +39,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((old(memory_load32_le(mem, $x_addr)) == memory_load32_le(mem, $x_addr)) && (old(memory_load32_le(mem, $z_addr)) == memory_load32_le(mem, $z_addr))); + free ensures (memory_load8_le(mem, 1852bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1853bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1854bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1855bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -62,42 +98,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R8, Gamma_R9, Gamma_mem, R0, R8, R9, mem; requires ((memory_load32_le(mem, $z_addr) == 0bv32) ==> gamma_load32(Gamma_mem, $x_addr)); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1852bv64) == 1bv8); free requires (memory_load8_le(mem, 1853bv64) == 0bv8); free requires (memory_load8_le(mem, 1854bv64) == 2bv8); free requires (memory_load8_le(mem, 1855bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -106,22 +142,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -130,6 +150,42 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1852bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1853bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1854bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1855bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var Gamma_x_old: bool; lmain: diff --git a/src/test/correct/using_gamma_write_z/clang_O2/using_gamma_write_z.expected b/src/test/correct/using_gamma_write_z/clang_O2/using_gamma_write_z.expected index 266a4c2af..952c8d950 100644 --- a/src/test/correct/using_gamma_write_z/clang_O2/using_gamma_write_z.expected +++ b/src/test/correct/using_gamma_write_z/clang_O2/using_gamma_write_z.expected @@ -39,6 +39,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((old(memory_load32_le(mem, $x_addr)) == memory_load32_le(mem, $x_addr)) && (old(memory_load32_le(mem, $z_addr)) == memory_load32_le(mem, $z_addr))); + free ensures (memory_load8_le(mem, 1852bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1853bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1854bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1855bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -62,42 +98,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R8, Gamma_R9, Gamma_mem, R0, R8, R9, mem; requires ((memory_load32_le(mem, $z_addr) == 0bv32) ==> gamma_load32(Gamma_mem, $x_addr)); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1852bv64) == 1bv8); free requires (memory_load8_le(mem, 1853bv64) == 0bv8); free requires (memory_load8_le(mem, 1854bv64) == 2bv8); free requires (memory_load8_le(mem, 1855bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -106,22 +142,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -130,6 +150,42 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1852bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1853bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1854bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1855bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var Gamma_x_old: bool; lmain: diff --git a/src/test/correct/using_gamma_write_z/clang_no_plt_no_pic/using_gamma_write_z.expected b/src/test/correct/using_gamma_write_z/clang_no_plt_no_pic/using_gamma_write_z.expected index fb27ffd6c..ac3f77620 100644 --- a/src/test/correct/using_gamma_write_z/clang_no_plt_no_pic/using_gamma_write_z.expected +++ b/src/test/correct/using_gamma_write_z/clang_no_plt_no_pic/using_gamma_write_z.expected @@ -39,6 +39,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((old(memory_load32_le(mem, $x_addr)) == memory_load32_le(mem, $x_addr)) && (old(memory_load32_le(mem, $z_addr)) == memory_load32_le(mem, $z_addr))); + free ensures (memory_load8_le(mem, 1852bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1853bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1854bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1855bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -62,42 +98,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R8, Gamma_R9, Gamma_mem, R0, R8, R9, mem; requires ((memory_load32_le(mem, $z_addr) == 0bv32) ==> gamma_load32(Gamma_mem, $x_addr)); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1852bv64) == 1bv8); free requires (memory_load8_le(mem, 1853bv64) == 0bv8); free requires (memory_load8_le(mem, 1854bv64) == 2bv8); free requires (memory_load8_le(mem, 1855bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -106,22 +142,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -130,6 +150,42 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1852bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1853bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1854bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1855bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var Gamma_x_old: bool; lmain: diff --git a/src/test/correct/using_gamma_write_z/clang_pic/using_gamma_write_z.expected b/src/test/correct/using_gamma_write_z/clang_pic/using_gamma_write_z.expected index 20cd82ce9..43efcdccc 100644 --- a/src/test/correct/using_gamma_write_z/clang_pic/using_gamma_write_z.expected +++ b/src/test/correct/using_gamma_write_z/clang_pic/using_gamma_write_z.expected @@ -47,6 +47,50 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((old(memory_load32_le(mem, $x_addr)) == memory_load32_le(mem, $x_addr)) && (old(memory_load32_le(mem, $z_addr)) == memory_load32_le(mem, $z_addr))); + free ensures (memory_load8_le(mem, 1920bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1921bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1922bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1923bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69576bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69577bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69578bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69579bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69580bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69581bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69582bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69583bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -70,34 +114,26 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R8, Gamma_R9, Gamma_mem, R0, R8, R9, mem; requires ((memory_load32_le(mem, $z_addr) == 0bv32) ==> gamma_load32(Gamma_mem, $x_addr)); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1920bv64) == 1bv8); free requires (memory_load8_le(mem, 1921bv64) == 0bv8); free requires (memory_load8_le(mem, 1922bv64) == 2bv8); free requires (memory_load8_le(mem, 1923bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 13bv8); - free requires (memory_load8_le(mem, 69554bv64) == 1bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 0bv8); - free requires (memory_load8_le(mem, 69561bv64) == 0bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); free requires (memory_load8_le(mem, 69576bv64) == 52bv8); free requires (memory_load8_le(mem, 69577bv64) == 16bv8); free requires (memory_load8_le(mem, 69578bv64) == 1bv8); @@ -106,38 +142,6 @@ procedure main() free requires (memory_load8_le(mem, 69581bv64) == 0bv8); free requires (memory_load8_le(mem, 69582bv64) == 0bv8); free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 84bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -146,6 +150,74 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69056bv64) == 80bv8); + free requires (memory_load8_le(mem, 69057bv64) == 7bv8); + free requires (memory_load8_le(mem, 69058bv64) == 0bv8); + free requires (memory_load8_le(mem, 69059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69060bv64) == 0bv8); + free requires (memory_load8_le(mem, 69061bv64) == 0bv8); + free requires (memory_load8_le(mem, 69062bv64) == 0bv8); + free requires (memory_load8_le(mem, 69063bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 0bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 84bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1920bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1921bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1922bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1923bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69576bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69577bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69578bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69579bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69580bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69581bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69582bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69583bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); { var Gamma_x_old: bool; lmain: diff --git a/src/test/correct/using_gamma_write_z/gcc/using_gamma_write_z.expected b/src/test/correct/using_gamma_write_z/gcc/using_gamma_write_z.expected index 5f60041cf..e354303ef 100644 --- a/src/test/correct/using_gamma_write_z/gcc/using_gamma_write_z.expected +++ b/src/test/correct/using_gamma_write_z/gcc/using_gamma_write_z.expected @@ -37,6 +37,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((old(memory_load32_le(mem, $x_addr)) == memory_load32_le(mem, $x_addr)) && (old(memory_load32_le(mem, $z_addr)) == memory_load32_le(mem, $z_addr))); + free ensures (memory_load8_le(mem, 1856bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1857bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1858bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1859bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -60,98 +96,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; requires ((memory_load32_le(mem, $z_addr) == 0bv32) ==> gamma_load32(Gamma_mem, $x_addr)); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1856bv64) == 1bv8); free requires (memory_load8_le(mem, 1857bv64) == 0bv8); free requires (memory_load8_le(mem, 1858bv64) == 2bv8); free requires (memory_load8_le(mem, 1859bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -160,22 +140,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -184,6 +148,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1856bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1857bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1858bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1859bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var Gamma_x_old: bool; lmain: diff --git a/src/test/correct/using_gamma_write_z/gcc_O2/using_gamma_write_z.expected b/src/test/correct/using_gamma_write_z/gcc_O2/using_gamma_write_z.expected index 543b6bc46..2fcf4f75e 100644 --- a/src/test/correct/using_gamma_write_z/gcc_O2/using_gamma_write_z.expected +++ b/src/test/correct/using_gamma_write_z/gcc_O2/using_gamma_write_z.expected @@ -39,6 +39,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((old(memory_load32_le(mem, $x_addr)) == memory_load32_le(mem, $x_addr)) && (old(memory_load32_le(mem, $z_addr)) == memory_load32_le(mem, $z_addr))); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -62,98 +98,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R2, Gamma_mem, R0, R1, R2, mem; requires ((memory_load32_le(mem, $z_addr) == 0bv32) ==> gamma_load32(Gamma_mem, $x_addr)); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1896bv64) == 1bv8); free requires (memory_load8_le(mem, 1897bv64) == 0bv8); free requires (memory_load8_le(mem, 1898bv64) == 2bv8); free requires (memory_load8_le(mem, 1899bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 80bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 0bv8); + free requires (memory_load8_le(mem, 69025bv64) == 7bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 0bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -162,22 +142,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -186,6 +150,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var Gamma_x_old: bool; lmain: diff --git a/src/test/correct/using_gamma_write_z/gcc_no_plt_no_pic/using_gamma_write_z.expected b/src/test/correct/using_gamma_write_z/gcc_no_plt_no_pic/using_gamma_write_z.expected index 5f60041cf..e354303ef 100644 --- a/src/test/correct/using_gamma_write_z/gcc_no_plt_no_pic/using_gamma_write_z.expected +++ b/src/test/correct/using_gamma_write_z/gcc_no_plt_no_pic/using_gamma_write_z.expected @@ -37,6 +37,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((old(memory_load32_le(mem, $x_addr)) == memory_load32_le(mem, $x_addr)) && (old(memory_load32_le(mem, $z_addr)) == memory_load32_le(mem, $z_addr))); + free ensures (memory_load8_le(mem, 1856bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1857bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1858bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1859bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -60,98 +96,42 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; requires ((memory_load32_le(mem, $z_addr) == 0bv32) ==> gamma_load32(Gamma_mem, $x_addr)); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1856bv64) == 1bv8); free requires (memory_load8_le(mem, 1857bv64) == 0bv8); free requires (memory_load8_le(mem, 1858bv64) == 2bv8); free requires (memory_load8_le(mem, 1859bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -160,22 +140,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -184,6 +148,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1856bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1857bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1858bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1859bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var Gamma_x_old: bool; lmain: diff --git a/src/test/correct/using_gamma_write_z/gcc_pic/using_gamma_write_z.expected b/src/test/correct/using_gamma_write_z/gcc_pic/using_gamma_write_z.expected index 96e0b9fed..e7d2b5709 100644 --- a/src/test/correct/using_gamma_write_z/gcc_pic/using_gamma_write_z.expected +++ b/src/test/correct/using_gamma_write_z/gcc_pic/using_gamma_write_z.expected @@ -45,6 +45,50 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures ((old(memory_load32_le(mem, $x_addr)) == memory_load32_le(mem, $x_addr)) && (old(memory_load32_le(mem, $z_addr)) == memory_load32_le(mem, $z_addr))); + free ensures (memory_load8_le(mem, 1920bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1921bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1922bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1923bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69600bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69601bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69602bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69603bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69604bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69605bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69606bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69607bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -68,122 +112,6 @@ procedure guarantee_reflexive() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; requires ((memory_load32_le(mem, $z_addr) == 0bv32) ==> gamma_load32(Gamma_mem, $x_addr)); - free requires (memory_load8_le(mem, 1920bv64) == 1bv8); - free requires (memory_load8_le(mem, 1921bv64) == 0bv8); - free requires (memory_load8_le(mem, 1922bv64) == 2bv8); - free requires (memory_load8_le(mem, 1923bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 176bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 176bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 176bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 176bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 13bv8); - free requires (memory_load8_le(mem, 69578bv64) == 1bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 24bv8); - free requires (memory_load8_le(mem, 69601bv64) == 16bv8); - free requires (memory_load8_le(mem, 69602bv64) == 1bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 84bv8); - free requires (memory_load8_le(mem, 69617bv64) == 7bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -200,6 +128,94 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 1920bv64) == 1bv8); + free requires (memory_load8_le(mem, 1921bv64) == 0bv8); + free requires (memory_load8_le(mem, 1922bv64) == 2bv8); + free requires (memory_load8_le(mem, 1923bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 84bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 0bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69600bv64) == 24bv8); + free requires (memory_load8_le(mem, 69601bv64) == 16bv8); + free requires (memory_load8_le(mem, 69602bv64) == 1bv8); + free requires (memory_load8_le(mem, 69603bv64) == 0bv8); + free requires (memory_load8_le(mem, 69604bv64) == 0bv8); + free requires (memory_load8_le(mem, 69605bv64) == 0bv8); + free requires (memory_load8_le(mem, 69606bv64) == 0bv8); + free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 80bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1920bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1921bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1922bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1923bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69600bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69601bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69602bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69603bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69604bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69605bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69606bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69607bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); { var Gamma_x_old: bool; lmain: diff --git a/src/test/incorrect/basicassign/clang/basicassign.expected b/src/test/incorrect/basicassign/clang/basicassign.expected index ac6c2ef24..0afe247ef 100644 --- a/src/test/incorrect/basicassign/clang/basicassign.expected +++ b/src/test/incorrect/basicassign/clang/basicassign.expected @@ -46,6 +46,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))); + free ensures (memory_load8_le(mem, 1888bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1889bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1890bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1891bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -65,42 +101,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R10, Gamma_R11, Gamma_R8, Gamma_R9, Gamma_mem, R0, R10, R11, R8, R9, mem; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1888bv64) == 1bv8); free requires (memory_load8_le(mem, 1889bv64) == 0bv8); free requires (memory_load8_le(mem, 1890bv64) == 2bv8); free requires (memory_load8_le(mem, 1891bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -109,22 +145,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -133,6 +153,42 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1888bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1889bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1890bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1891bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { lmain: R10, Gamma_R10 := 69632bv64, true; diff --git a/src/test/incorrect/basicassign/clang_O2/basicassign.expected b/src/test/incorrect/basicassign/clang_O2/basicassign.expected index 47877eb65..2058f5f47 100644 --- a/src/test/incorrect/basicassign/clang_O2/basicassign.expected +++ b/src/test/incorrect/basicassign/clang_O2/basicassign.expected @@ -44,6 +44,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))); + free ensures (memory_load8_le(mem, 1864bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1865bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1866bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1867bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -63,42 +99,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R10, Gamma_R8, Gamma_R9, Gamma_mem, R0, R10, R8, R9, mem; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1864bv64) == 1bv8); free requires (memory_load8_le(mem, 1865bv64) == 0bv8); free requires (memory_load8_le(mem, 1866bv64) == 2bv8); free requires (memory_load8_le(mem, 1867bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -107,22 +143,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -131,6 +151,42 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1864bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1865bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1866bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1867bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { lmain: R8, Gamma_R8 := 69632bv64, true; diff --git a/src/test/incorrect/basicassign/clang_no_plt_no_pic/basicassign.expected b/src/test/incorrect/basicassign/clang_no_plt_no_pic/basicassign.expected index ac6c2ef24..0afe247ef 100644 --- a/src/test/incorrect/basicassign/clang_no_plt_no_pic/basicassign.expected +++ b/src/test/incorrect/basicassign/clang_no_plt_no_pic/basicassign.expected @@ -46,6 +46,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))); + free ensures (memory_load8_le(mem, 1888bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1889bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1890bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1891bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -65,42 +101,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R10, Gamma_R11, Gamma_R8, Gamma_R9, Gamma_mem, R0, R10, R11, R8, R9, mem; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1888bv64) == 1bv8); free requires (memory_load8_le(mem, 1889bv64) == 0bv8); free requires (memory_load8_le(mem, 1890bv64) == 2bv8); free requires (memory_load8_le(mem, 1891bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -109,22 +145,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -133,6 +153,42 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1888bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1889bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1890bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1891bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { lmain: R10, Gamma_R10 := 69632bv64, true; diff --git a/src/test/incorrect/basicassign/clang_pic/basicassign.expected b/src/test/incorrect/basicassign/clang_pic/basicassign.expected index 4d6303e6a..3c2398566 100644 --- a/src/test/incorrect/basicassign/clang_pic/basicassign.expected +++ b/src/test/incorrect/basicassign/clang_pic/basicassign.expected @@ -54,6 +54,66 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))); + free ensures (memory_load8_le(mem, 1964bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1965bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1966bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1967bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69584bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69585bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69586bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69040bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69041bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69042bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69043bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69044bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69045bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69046bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69047bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69568bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69560bv64) == 60bv8); + free ensures (memory_load8_le(mem, 69561bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69562bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69563bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69564bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69565bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69566bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69567bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -73,58 +133,34 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R10, Gamma_R11, Gamma_R8, Gamma_R9, Gamma_mem, R0, R10, R11, R8, R9, mem; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1964bv64) == 1bv8); free requires (memory_load8_le(mem, 1965bv64) == 0bv8); free requires (memory_load8_le(mem, 1966bv64) == 2bv8); free requires (memory_load8_le(mem, 1967bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 192bv8); - free requires (memory_load8_le(mem, 69537bv64) == 13bv8); - free requires (memory_load8_le(mem, 69538bv64) == 1bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 0bv8); - free requires (memory_load8_le(mem, 69553bv64) == 0bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 60bv8); - free requires (memory_load8_le(mem, 69561bv64) == 16bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 56bv8); - free requires (memory_load8_le(mem, 69569bv64) == 16bv8); - free requires (memory_load8_le(mem, 69570bv64) == 1bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 69584bv64) == 52bv8); free requires (memory_load8_le(mem, 69585bv64) == 16bv8); free requires (memory_load8_le(mem, 69586bv64) == 1bv8); @@ -133,6 +169,30 @@ procedure main() free requires (memory_load8_le(mem, 69589bv64) == 0bv8); free requires (memory_load8_le(mem, 69590bv64) == 0bv8); free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69048bv64) == 0bv8); + free requires (memory_load8_le(mem, 69049bv64) == 7bv8); + free requires (memory_load8_le(mem, 69050bv64) == 0bv8); + free requires (memory_load8_le(mem, 69051bv64) == 0bv8); + free requires (memory_load8_le(mem, 69052bv64) == 0bv8); + free requires (memory_load8_le(mem, 69053bv64) == 0bv8); + free requires (memory_load8_le(mem, 69054bv64) == 0bv8); + free requires (memory_load8_le(mem, 69055bv64) == 0bv8); + free requires (memory_load8_le(mem, 69040bv64) == 80bv8); + free requires (memory_load8_le(mem, 69041bv64) == 7bv8); + free requires (memory_load8_le(mem, 69042bv64) == 0bv8); + free requires (memory_load8_le(mem, 69043bv64) == 0bv8); + free requires (memory_load8_le(mem, 69044bv64) == 0bv8); + free requires (memory_load8_le(mem, 69045bv64) == 0bv8); + free requires (memory_load8_le(mem, 69046bv64) == 0bv8); + free requires (memory_load8_le(mem, 69047bv64) == 0bv8); + free requires (memory_load8_le(mem, 69568bv64) == 56bv8); + free requires (memory_load8_le(mem, 69569bv64) == 16bv8); + free requires (memory_load8_le(mem, 69570bv64) == 1bv8); + free requires (memory_load8_le(mem, 69571bv64) == 0bv8); + free requires (memory_load8_le(mem, 69572bv64) == 0bv8); + free requires (memory_load8_le(mem, 69573bv64) == 0bv8); + free requires (memory_load8_le(mem, 69574bv64) == 0bv8); + free requires (memory_load8_le(mem, 69575bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 84bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -141,30 +201,74 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 40bv8); - free requires (memory_load8_le(mem, 69673bv64) == 16bv8); - free requires (memory_load8_le(mem, 69674bv64) == 1bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69560bv64) == 60bv8); + free requires (memory_load8_le(mem, 69561bv64) == 16bv8); + free requires (memory_load8_le(mem, 69562bv64) == 1bv8); + free requires (memory_load8_le(mem, 69563bv64) == 0bv8); + free requires (memory_load8_le(mem, 69564bv64) == 0bv8); + free requires (memory_load8_le(mem, 69565bv64) == 0bv8); + free requires (memory_load8_le(mem, 69566bv64) == 0bv8); + free requires (memory_load8_le(mem, 69567bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1964bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1965bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1966bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1967bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69584bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69585bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69586bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69040bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69041bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69042bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69043bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69044bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69045bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69046bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69047bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69568bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69560bv64) == 60bv8); + free ensures (memory_load8_le(mem, 69561bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69562bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69563bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69564bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69565bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69566bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69567bv64) == 0bv8); { lmain: R8, Gamma_R8 := 65536bv64, true; diff --git a/src/test/incorrect/basicassign/gcc/basicassign.expected b/src/test/incorrect/basicassign/gcc/basicassign.expected index c620a3b6d..7d8e89ace 100644 --- a/src/test/incorrect/basicassign/gcc/basicassign.expected +++ b/src/test/incorrect/basicassign/gcc/basicassign.expected @@ -40,6 +40,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))); + free ensures (memory_load8_le(mem, 1948bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1949bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1950bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1951bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -59,98 +95,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1948bv64) == 1bv8); free requires (memory_load8_le(mem, 1949bv64) == 0bv8); free requires (memory_load8_le(mem, 1950bv64) == 2bv8); free requires (memory_load8_le(mem, 1951bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -159,22 +139,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -183,6 +147,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1948bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1949bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1950bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1951bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lmain: R0, Gamma_R0 := 69632bv64, true; diff --git a/src/test/incorrect/basicassign/gcc_O2/basicassign.expected b/src/test/incorrect/basicassign/gcc_O2/basicassign.expected index 7defbfb8d..51afa271a 100644 --- a/src/test/incorrect/basicassign/gcc_O2/basicassign.expected +++ b/src/test/incorrect/basicassign/gcc_O2/basicassign.expected @@ -42,6 +42,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -61,98 +97,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R2, Gamma_mem, R0, R1, R2, mem; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1896bv64) == 1bv8); free requires (memory_load8_le(mem, 1897bv64) == 0bv8); free requires (memory_load8_le(mem, 1898bv64) == 2bv8); free requires (memory_load8_le(mem, 1899bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 80bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 0bv8); + free requires (memory_load8_le(mem, 69025bv64) == 7bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 0bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -161,22 +141,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -185,6 +149,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #1: bv64; var Gamma_#1: bool; diff --git a/src/test/incorrect/basicassign/gcc_no_plt_no_pic/basicassign.expected b/src/test/incorrect/basicassign/gcc_no_plt_no_pic/basicassign.expected index c620a3b6d..7d8e89ace 100644 --- a/src/test/incorrect/basicassign/gcc_no_plt_no_pic/basicassign.expected +++ b/src/test/incorrect/basicassign/gcc_no_plt_no_pic/basicassign.expected @@ -40,6 +40,42 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))); + free ensures (memory_load8_le(mem, 1948bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1949bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1950bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1951bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -59,98 +95,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1948bv64) == 1bv8); free requires (memory_load8_le(mem, 1949bv64) == 0bv8); free requires (memory_load8_le(mem, 1950bv64) == 2bv8); free requires (memory_load8_le(mem, 1951bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -159,22 +139,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -183,6 +147,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1948bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1949bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1950bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1951bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lmain: R0, Gamma_R0 := 69632bv64, true; diff --git a/src/test/incorrect/basicassign/gcc_pic/basicassign.expected b/src/test/incorrect/basicassign/gcc_pic/basicassign.expected index 1b633cb7f..e0160ac7a 100644 --- a/src/test/incorrect/basicassign/gcc_pic/basicassign.expected +++ b/src/test/incorrect/basicassign/gcc_pic/basicassign.expected @@ -48,6 +48,66 @@ procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))); + free ensures (memory_load8_le(mem, 2012bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2014bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69608bv64) == 28bv8); + free ensures (memory_load8_le(mem, 69609bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69610bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69611bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69612bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69613bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69614bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69615bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69584bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69585bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69586bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 80bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 7bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -67,114 +127,26 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 2012bv64) == 1bv8); free requires (memory_load8_le(mem, 2013bv64) == 0bv8); free requires (memory_load8_le(mem, 2014bv64) == 2bv8); free requires (memory_load8_le(mem, 2015bv64) == 0bv8); - free requires (memory_load8_le(mem, 69504bv64) == 0bv8); - free requires (memory_load8_le(mem, 69505bv64) == 0bv8); - free requires (memory_load8_le(mem, 69506bv64) == 0bv8); - free requires (memory_load8_le(mem, 69507bv64) == 0bv8); - free requires (memory_load8_le(mem, 69508bv64) == 0bv8); - free requires (memory_load8_le(mem, 69509bv64) == 0bv8); - free requires (memory_load8_le(mem, 69510bv64) == 0bv8); - free requires (memory_load8_le(mem, 69511bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 224bv8); - free requires (memory_load8_le(mem, 69529bv64) == 5bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 224bv8); - free requires (memory_load8_le(mem, 69537bv64) == 5bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 224bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 224bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 144bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 24bv8); - free requires (memory_load8_le(mem, 69585bv64) == 16bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 20bv8); - free requires (memory_load8_le(mem, 69593bv64) == 16bv8); - free requires (memory_load8_le(mem, 69594bv64) == 1bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); free requires (memory_load8_le(mem, 69608bv64) == 28bv8); free requires (memory_load8_le(mem, 69609bv64) == 16bv8); free requires (memory_load8_le(mem, 69610bv64) == 1bv8); @@ -183,30 +155,6 @@ procedure main() free requires (memory_load8_le(mem, 69613bv64) == 0bv8); free requires (memory_load8_le(mem, 69614bv64) == 0bv8); free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 84bv8); - free requires (memory_load8_le(mem, 69617bv64) == 7bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -215,6 +163,106 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 84bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69584bv64) == 24bv8); + free requires (memory_load8_le(mem, 69585bv64) == 16bv8); + free requires (memory_load8_le(mem, 69586bv64) == 1bv8); + free requires (memory_load8_le(mem, 69587bv64) == 0bv8); + free requires (memory_load8_le(mem, 69588bv64) == 0bv8); + free requires (memory_load8_le(mem, 69589bv64) == 0bv8); + free requires (memory_load8_le(mem, 69590bv64) == 0bv8); + free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 16bv8); + free requires (memory_load8_le(mem, 69594bv64) == 1bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 0bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 80bv8); + free requires (memory_load8_le(mem, 68993bv64) == 7bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2012bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2014bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69608bv64) == 28bv8); + free ensures (memory_load8_le(mem, 69609bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69610bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69611bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69612bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69613bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69614bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69615bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69584bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69585bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69586bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 80bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 7bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); { lmain: R0, Gamma_R0 := 65536bv64, true; diff --git a/src/test/incorrect/basicassign1/clang/basicassign1.expected b/src/test/incorrect/basicassign1/clang/basicassign1.expected index 5d8009173..50ee0796f 100644 --- a/src/test/incorrect/basicassign1/clang/basicassign1.expected +++ b/src/test/incorrect/basicassign1/clang/basicassign1.expected @@ -42,9 +42,44 @@ function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1892bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1893bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1894bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1895bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -62,42 +97,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R10, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R10, R31, R8, R9, mem, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1892bv64) == 1bv8); free requires (memory_load8_le(mem, 1893bv64) == 0bv8); free requires (memory_load8_le(mem, 1894bv64) == 2bv8); free requires (memory_load8_le(mem, 1895bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -106,22 +141,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -132,6 +151,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1892bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1893bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1894bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1895bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { lmain: R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; diff --git a/src/test/incorrect/basicassign1/clang_O2/basicassign1.expected b/src/test/incorrect/basicassign1/clang_O2/basicassign1.expected index b5c126843..13ec92921 100644 --- a/src/test/incorrect/basicassign1/clang_O2/basicassign1.expected +++ b/src/test/incorrect/basicassign1/clang_O2/basicassign1.expected @@ -36,9 +36,44 @@ function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1856bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1857bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1858bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1859bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -56,42 +91,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R8, Gamma_R9, Gamma_mem, R0, R8, R9, mem; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1856bv64) == 1bv8); free requires (memory_load8_le(mem, 1857bv64) == 0bv8); free requires (memory_load8_le(mem, 1858bv64) == 2bv8); free requires (memory_load8_le(mem, 1859bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -100,22 +135,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -124,6 +143,42 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1856bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1857bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1858bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1859bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { lmain: R8, Gamma_R8 := 69632bv64, true; diff --git a/src/test/incorrect/basicassign1/clang_no_plt_no_pic/basicassign1.expected b/src/test/incorrect/basicassign1/clang_no_plt_no_pic/basicassign1.expected index 5d8009173..50ee0796f 100644 --- a/src/test/incorrect/basicassign1/clang_no_plt_no_pic/basicassign1.expected +++ b/src/test/incorrect/basicassign1/clang_no_plt_no_pic/basicassign1.expected @@ -42,9 +42,44 @@ function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1892bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1893bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1894bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1895bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -62,42 +97,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R10, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R10, R31, R8, R9, mem, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1892bv64) == 1bv8); free requires (memory_load8_le(mem, 1893bv64) == 0bv8); free requires (memory_load8_le(mem, 1894bv64) == 2bv8); free requires (memory_load8_le(mem, 1895bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -106,22 +141,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -132,6 +151,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1892bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1893bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1894bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1895bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { lmain: R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; diff --git a/src/test/incorrect/basicassign1/clang_pic/basicassign1.expected b/src/test/incorrect/basicassign1/clang_pic/basicassign1.expected index eb7e089be..69a1277ec 100644 --- a/src/test/incorrect/basicassign1/clang_pic/basicassign1.expected +++ b/src/test/incorrect/basicassign1/clang_pic/basicassign1.expected @@ -50,9 +50,60 @@ function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1964bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1965bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1966bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1967bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69584bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69585bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69586bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69568bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -70,50 +121,34 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R10, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R10, R31, R8, R9, mem, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1964bv64) == 1bv8); free requires (memory_load8_le(mem, 1965bv64) == 0bv8); free requires (memory_load8_le(mem, 1966bv64) == 2bv8); free requires (memory_load8_le(mem, 1967bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 200bv8); - free requires (memory_load8_le(mem, 69545bv64) == 13bv8); - free requires (memory_load8_le(mem, 69546bv64) == 1bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 0bv8); - free requires (memory_load8_le(mem, 69553bv64) == 0bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 0bv8); - free requires (memory_load8_le(mem, 69561bv64) == 0bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 56bv8); - free requires (memory_load8_le(mem, 69569bv64) == 16bv8); - free requires (memory_load8_le(mem, 69570bv64) == 1bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 69584bv64) == 52bv8); free requires (memory_load8_le(mem, 69585bv64) == 16bv8); free requires (memory_load8_le(mem, 69586bv64) == 1bv8); @@ -122,6 +157,22 @@ procedure main() free requires (memory_load8_le(mem, 69589bv64) == 0bv8); free requires (memory_load8_le(mem, 69590bv64) == 0bv8); free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69048bv64) == 80bv8); + free requires (memory_load8_le(mem, 69049bv64) == 7bv8); + free requires (memory_load8_le(mem, 69050bv64) == 0bv8); + free requires (memory_load8_le(mem, 69051bv64) == 0bv8); + free requires (memory_load8_le(mem, 69052bv64) == 0bv8); + free requires (memory_load8_le(mem, 69053bv64) == 0bv8); + free requires (memory_load8_le(mem, 69054bv64) == 0bv8); + free requires (memory_load8_le(mem, 69055bv64) == 0bv8); + free requires (memory_load8_le(mem, 69568bv64) == 56bv8); + free requires (memory_load8_le(mem, 69569bv64) == 16bv8); + free requires (memory_load8_le(mem, 69570bv64) == 1bv8); + free requires (memory_load8_le(mem, 69571bv64) == 0bv8); + free requires (memory_load8_le(mem, 69572bv64) == 0bv8); + free requires (memory_load8_le(mem, 69573bv64) == 0bv8); + free requires (memory_load8_le(mem, 69574bv64) == 0bv8); + free requires (memory_load8_le(mem, 69575bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 84bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -130,32 +181,68 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 40bv8); - free requires (memory_load8_le(mem, 69673bv64) == 16bv8); - free requires (memory_load8_le(mem, 69674bv64) == 1bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69056bv64) == 0bv8); + free requires (memory_load8_le(mem, 69057bv64) == 7bv8); + free requires (memory_load8_le(mem, 69058bv64) == 0bv8); + free requires (memory_load8_le(mem, 69059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69060bv64) == 0bv8); + free requires (memory_load8_le(mem, 69061bv64) == 0bv8); + free requires (memory_load8_le(mem, 69062bv64) == 0bv8); + free requires (memory_load8_le(mem, 69063bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1964bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1965bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1966bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1967bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69584bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69585bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69586bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69568bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); { lmain: R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; diff --git a/src/test/incorrect/basicassign1/gcc/basicassign1.expected b/src/test/incorrect/basicassign1/gcc/basicassign1.expected index 4d746b83a..cba892ab6 100644 --- a/src/test/incorrect/basicassign1/gcc/basicassign1.expected +++ b/src/test/incorrect/basicassign1/gcc/basicassign1.expected @@ -38,9 +38,44 @@ function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1916bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1917bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1918bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1919bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -58,98 +93,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R31, mem, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1916bv64) == 1bv8); free requires (memory_load8_le(mem, 1917bv64) == 0bv8); free requires (memory_load8_le(mem, 1918bv64) == 2bv8); free requires (memory_load8_le(mem, 1919bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -158,22 +137,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -184,6 +147,42 @@ procedure main() free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1916bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1917bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1918bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1919bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lmain: R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; diff --git a/src/test/incorrect/basicassign1/gcc_O2/basicassign1.expected b/src/test/incorrect/basicassign1/gcc_O2/basicassign1.expected index 846d87bcd..a02ac3c03 100644 --- a/src/test/incorrect/basicassign1/gcc_O2/basicassign1.expected +++ b/src/test/incorrect/basicassign1/gcc_O2/basicassign1.expected @@ -36,9 +36,44 @@ function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -56,98 +91,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R2, Gamma_mem, R0, R1, R2, mem; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1896bv64) == 1bv8); free requires (memory_load8_le(mem, 1897bv64) == 0bv8); free requires (memory_load8_le(mem, 1898bv64) == 2bv8); free requires (memory_load8_le(mem, 1899bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 80bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 0bv8); + free requires (memory_load8_le(mem, 69025bv64) == 7bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 0bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -156,22 +135,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -180,6 +143,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lmain: R1, Gamma_R1 := 69632bv64, true; diff --git a/src/test/incorrect/basicassign1/gcc_no_plt_no_pic/basicassign1.expected b/src/test/incorrect/basicassign1/gcc_no_plt_no_pic/basicassign1.expected index 4d746b83a..cba892ab6 100644 --- a/src/test/incorrect/basicassign1/gcc_no_plt_no_pic/basicassign1.expected +++ b/src/test/incorrect/basicassign1/gcc_no_plt_no_pic/basicassign1.expected @@ -38,9 +38,44 @@ function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1916bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1917bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1918bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1919bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -58,98 +93,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R31, mem, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1916bv64) == 1bv8); free requires (memory_load8_le(mem, 1917bv64) == 0bv8); free requires (memory_load8_le(mem, 1918bv64) == 2bv8); free requires (memory_load8_le(mem, 1919bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -158,22 +137,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -184,6 +147,42 @@ procedure main() free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1916bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1917bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1918bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1919bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lmain: R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; diff --git a/src/test/incorrect/basicassign1/gcc_pic/basicassign1.expected b/src/test/incorrect/basicassign1/gcc_pic/basicassign1.expected index b26971333..1c979a17b 100644 --- a/src/test/incorrect/basicassign1/gcc_pic/basicassign1.expected +++ b/src/test/incorrect/basicassign1/gcc_pic/basicassign1.expected @@ -46,9 +46,60 @@ function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1980bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1981bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1982bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1983bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69608bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69609bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69610bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69611bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69612bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69613bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69614bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69615bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -66,106 +117,26 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R31, mem, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1980bv64) == 1bv8); free requires (memory_load8_le(mem, 1981bv64) == 0bv8); free requires (memory_load8_le(mem, 1982bv64) == 2bv8); free requires (memory_load8_le(mem, 1983bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 208bv8); - free requires (memory_load8_le(mem, 69537bv64) == 5bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 208bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 208bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 152bv8); - free requires (memory_load8_le(mem, 69569bv64) == 13bv8); - free requires (memory_load8_le(mem, 69570bv64) == 1bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 20bv8); - free requires (memory_load8_le(mem, 69593bv64) == 16bv8); - free requires (memory_load8_le(mem, 69594bv64) == 1bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); free requires (memory_load8_le(mem, 69608bv64) == 24bv8); free requires (memory_load8_le(mem, 69609bv64) == 16bv8); free requires (memory_load8_le(mem, 69610bv64) == 1bv8); @@ -174,30 +145,6 @@ procedure main() free requires (memory_load8_le(mem, 69613bv64) == 0bv8); free requires (memory_load8_le(mem, 69614bv64) == 0bv8); free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 84bv8); - free requires (memory_load8_le(mem, 69617bv64) == 7bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -206,8 +153,92 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 84bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 0bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 16bv8); + free requires (memory_load8_le(mem, 69594bv64) == 1bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 80bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1980bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1981bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1982bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1983bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69608bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69609bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69610bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69611bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69612bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69613bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69614bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69615bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); { lmain: R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; diff --git a/src/test/incorrect/basicassign2/clang/basicassign2.expected b/src/test/incorrect/basicassign2/clang/basicassign2.expected index 3278c8415..737586962 100644 --- a/src/test/incorrect/basicassign2/clang/basicassign2.expected +++ b/src/test/incorrect/basicassign2/clang/basicassign2.expected @@ -43,9 +43,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1892bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1893bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1894bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1895bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -63,42 +98,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R10, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R10, R31, R8, R9, mem, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1892bv64) == 1bv8); free requires (memory_load8_le(mem, 1893bv64) == 0bv8); free requires (memory_load8_le(mem, 1894bv64) == 2bv8); free requires (memory_load8_le(mem, 1895bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -107,22 +142,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -133,6 +152,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1892bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1893bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1894bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1895bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { lmain: R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; diff --git a/src/test/incorrect/basicassign2/clang_O2/basicassign2.expected b/src/test/incorrect/basicassign2/clang_O2/basicassign2.expected index e7af32d02..3602106b7 100644 --- a/src/test/incorrect/basicassign2/clang_O2/basicassign2.expected +++ b/src/test/incorrect/basicassign2/clang_O2/basicassign2.expected @@ -37,9 +37,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1856bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1857bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1858bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1859bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -57,42 +92,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R8, Gamma_R9, Gamma_mem, R0, R8, R9, mem; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1856bv64) == 1bv8); free requires (memory_load8_le(mem, 1857bv64) == 0bv8); free requires (memory_load8_le(mem, 1858bv64) == 2bv8); free requires (memory_load8_le(mem, 1859bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -101,22 +136,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -125,6 +144,42 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1856bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1857bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1858bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1859bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { lmain: R8, Gamma_R8 := 69632bv64, true; diff --git a/src/test/incorrect/basicassign2/clang_no_plt_no_pic/basicassign2.expected b/src/test/incorrect/basicassign2/clang_no_plt_no_pic/basicassign2.expected index 3278c8415..737586962 100644 --- a/src/test/incorrect/basicassign2/clang_no_plt_no_pic/basicassign2.expected +++ b/src/test/incorrect/basicassign2/clang_no_plt_no_pic/basicassign2.expected @@ -43,9 +43,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1892bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1893bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1894bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1895bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -63,42 +98,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R10, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R10, R31, R8, R9, mem, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1892bv64) == 1bv8); free requires (memory_load8_le(mem, 1893bv64) == 0bv8); free requires (memory_load8_le(mem, 1894bv64) == 2bv8); free requires (memory_load8_le(mem, 1895bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -107,22 +142,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -133,6 +152,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1892bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1893bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1894bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1895bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { lmain: R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; diff --git a/src/test/incorrect/basicassign2/clang_pic/basicassign2.expected b/src/test/incorrect/basicassign2/clang_pic/basicassign2.expected index 4e805a3f0..522e85cbc 100644 --- a/src/test/incorrect/basicassign2/clang_pic/basicassign2.expected +++ b/src/test/incorrect/basicassign2/clang_pic/basicassign2.expected @@ -43,9 +43,60 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1964bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1965bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1966bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1967bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69584bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69585bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69586bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69568bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -63,50 +114,34 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R10, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R10, R31, R8, R9, mem, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1964bv64) == 1bv8); free requires (memory_load8_le(mem, 1965bv64) == 0bv8); free requires (memory_load8_le(mem, 1966bv64) == 2bv8); free requires (memory_load8_le(mem, 1967bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 200bv8); - free requires (memory_load8_le(mem, 69545bv64) == 13bv8); - free requires (memory_load8_le(mem, 69546bv64) == 1bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 0bv8); - free requires (memory_load8_le(mem, 69553bv64) == 0bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 0bv8); - free requires (memory_load8_le(mem, 69561bv64) == 0bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 64bv8); - free requires (memory_load8_le(mem, 69569bv64) == 16bv8); - free requires (memory_load8_le(mem, 69570bv64) == 1bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 69584bv64) == 56bv8); free requires (memory_load8_le(mem, 69585bv64) == 16bv8); free requires (memory_load8_le(mem, 69586bv64) == 1bv8); @@ -115,6 +150,22 @@ procedure main() free requires (memory_load8_le(mem, 69589bv64) == 0bv8); free requires (memory_load8_le(mem, 69590bv64) == 0bv8); free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69048bv64) == 80bv8); + free requires (memory_load8_le(mem, 69049bv64) == 7bv8); + free requires (memory_load8_le(mem, 69050bv64) == 0bv8); + free requires (memory_load8_le(mem, 69051bv64) == 0bv8); + free requires (memory_load8_le(mem, 69052bv64) == 0bv8); + free requires (memory_load8_le(mem, 69053bv64) == 0bv8); + free requires (memory_load8_le(mem, 69054bv64) == 0bv8); + free requires (memory_load8_le(mem, 69055bv64) == 0bv8); + free requires (memory_load8_le(mem, 69568bv64) == 64bv8); + free requires (memory_load8_le(mem, 69569bv64) == 16bv8); + free requires (memory_load8_le(mem, 69570bv64) == 1bv8); + free requires (memory_load8_le(mem, 69571bv64) == 0bv8); + free requires (memory_load8_le(mem, 69572bv64) == 0bv8); + free requires (memory_load8_le(mem, 69573bv64) == 0bv8); + free requires (memory_load8_le(mem, 69574bv64) == 0bv8); + free requires (memory_load8_le(mem, 69575bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 84bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -123,32 +174,68 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 40bv8); - free requires (memory_load8_le(mem, 69673bv64) == 16bv8); - free requires (memory_load8_le(mem, 69674bv64) == 1bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69056bv64) == 0bv8); + free requires (memory_load8_le(mem, 69057bv64) == 7bv8); + free requires (memory_load8_le(mem, 69058bv64) == 0bv8); + free requires (memory_load8_le(mem, 69059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69060bv64) == 0bv8); + free requires (memory_load8_le(mem, 69061bv64) == 0bv8); + free requires (memory_load8_le(mem, 69062bv64) == 0bv8); + free requires (memory_load8_le(mem, 69063bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1964bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1965bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1966bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1967bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69584bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69585bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69586bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69568bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); { lmain: R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; diff --git a/src/test/incorrect/basicassign2/gcc/basicassign2.expected b/src/test/incorrect/basicassign2/gcc/basicassign2.expected index b386e9614..a0bfe6c59 100644 --- a/src/test/incorrect/basicassign2/gcc/basicassign2.expected +++ b/src/test/incorrect/basicassign2/gcc/basicassign2.expected @@ -39,9 +39,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1916bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1917bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1918bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1919bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -59,98 +94,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R31, mem, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1916bv64) == 1bv8); free requires (memory_load8_le(mem, 1917bv64) == 0bv8); free requires (memory_load8_le(mem, 1918bv64) == 2bv8); free requires (memory_load8_le(mem, 1919bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -159,22 +138,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -185,6 +148,42 @@ procedure main() free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1916bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1917bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1918bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1919bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lmain: R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; diff --git a/src/test/incorrect/basicassign2/gcc_O2/basicassign2.expected b/src/test/incorrect/basicassign2/gcc_O2/basicassign2.expected index a421ba53c..a02cf190d 100644 --- a/src/test/incorrect/basicassign2/gcc_O2/basicassign2.expected +++ b/src/test/incorrect/basicassign2/gcc_O2/basicassign2.expected @@ -37,9 +37,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -57,98 +92,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R2, Gamma_mem, R0, R1, R2, mem; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1896bv64) == 1bv8); free requires (memory_load8_le(mem, 1897bv64) == 0bv8); free requires (memory_load8_le(mem, 1898bv64) == 2bv8); free requires (memory_load8_le(mem, 1899bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 80bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 0bv8); + free requires (memory_load8_le(mem, 69025bv64) == 7bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 0bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -157,22 +136,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -181,6 +144,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lmain: R1, Gamma_R1 := 69632bv64, true; diff --git a/src/test/incorrect/basicassign2/gcc_no_plt_no_pic/basicassign2.expected b/src/test/incorrect/basicassign2/gcc_no_plt_no_pic/basicassign2.expected index b386e9614..a0bfe6c59 100644 --- a/src/test/incorrect/basicassign2/gcc_no_plt_no_pic/basicassign2.expected +++ b/src/test/incorrect/basicassign2/gcc_no_plt_no_pic/basicassign2.expected @@ -39,9 +39,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1916bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1917bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1918bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1919bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -59,98 +94,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R31, mem, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1916bv64) == 1bv8); free requires (memory_load8_le(mem, 1917bv64) == 0bv8); free requires (memory_load8_le(mem, 1918bv64) == 2bv8); free requires (memory_load8_le(mem, 1919bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -159,22 +138,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -185,6 +148,42 @@ procedure main() free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1916bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1917bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1918bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1919bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lmain: R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; diff --git a/src/test/incorrect/basicassign2/gcc_pic/basicassign2.expected b/src/test/incorrect/basicassign2/gcc_pic/basicassign2.expected index 45525c19e..b623974b9 100644 --- a/src/test/incorrect/basicassign2/gcc_pic/basicassign2.expected +++ b/src/test/incorrect/basicassign2/gcc_pic/basicassign2.expected @@ -39,9 +39,60 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1980bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1981bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1982bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1983bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69608bv64) == 32bv8); + free ensures (memory_load8_le(mem, 69609bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69610bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69611bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69612bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69613bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69614bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69615bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -59,106 +110,26 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R31, mem, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1980bv64) == 1bv8); free requires (memory_load8_le(mem, 1981bv64) == 0bv8); free requires (memory_load8_le(mem, 1982bv64) == 2bv8); free requires (memory_load8_le(mem, 1983bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 208bv8); - free requires (memory_load8_le(mem, 69537bv64) == 5bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 208bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 208bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 152bv8); - free requires (memory_load8_le(mem, 69569bv64) == 13bv8); - free requires (memory_load8_le(mem, 69570bv64) == 1bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 24bv8); - free requires (memory_load8_le(mem, 69593bv64) == 16bv8); - free requires (memory_load8_le(mem, 69594bv64) == 1bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); free requires (memory_load8_le(mem, 69608bv64) == 32bv8); free requires (memory_load8_le(mem, 69609bv64) == 16bv8); free requires (memory_load8_le(mem, 69610bv64) == 1bv8); @@ -167,30 +138,6 @@ procedure main() free requires (memory_load8_le(mem, 69613bv64) == 0bv8); free requires (memory_load8_le(mem, 69614bv64) == 0bv8); free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 84bv8); - free requires (memory_load8_le(mem, 69617bv64) == 7bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -199,8 +146,92 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 84bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 0bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 24bv8); + free requires (memory_load8_le(mem, 69593bv64) == 16bv8); + free requires (memory_load8_le(mem, 69594bv64) == 1bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 80bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1980bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1981bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1982bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1983bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69608bv64) == 32bv8); + free ensures (memory_load8_le(mem, 69609bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69610bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69611bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69612bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69613bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69614bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69615bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); { lmain: R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; diff --git a/src/test/incorrect/basicassign3/clang/basicassign3.expected b/src/test/incorrect/basicassign3/clang/basicassign3.expected index 9084a306b..bbab7a47c 100644 --- a/src/test/incorrect/basicassign3/clang/basicassign3.expected +++ b/src/test/incorrect/basicassign3/clang/basicassign3.expected @@ -40,9 +40,44 @@ function memory_store8_le(memory: [bv64]bv8, index: bv64, value: bv8) returns ([ function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1892bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1893bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1894bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1895bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -60,42 +95,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R10, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R10, R31, R8, R9, mem, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1892bv64) == 1bv8); free requires (memory_load8_le(mem, 1893bv64) == 0bv8); free requires (memory_load8_le(mem, 1894bv64) == 2bv8); free requires (memory_load8_le(mem, 1895bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -104,22 +139,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -130,6 +149,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1892bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1893bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1894bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1895bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { lmain: R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; diff --git a/src/test/incorrect/basicassign3/clang_O2/basicassign3.expected b/src/test/incorrect/basicassign3/clang_O2/basicassign3.expected index b483ba663..e4588924b 100644 --- a/src/test/incorrect/basicassign3/clang_O2/basicassign3.expected +++ b/src/test/incorrect/basicassign3/clang_O2/basicassign3.expected @@ -34,9 +34,44 @@ function memory_store8_le(memory: [bv64]bv8, index: bv64, value: bv8) returns ([ function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1856bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1857bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1858bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1859bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -54,42 +89,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R8, Gamma_R9, Gamma_mem, R0, R8, R9, mem; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1856bv64) == 1bv8); free requires (memory_load8_le(mem, 1857bv64) == 0bv8); free requires (memory_load8_le(mem, 1858bv64) == 2bv8); free requires (memory_load8_le(mem, 1859bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -98,22 +133,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -122,6 +141,42 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1856bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1857bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1858bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1859bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { lmain: R8, Gamma_R8 := 69632bv64, true; diff --git a/src/test/incorrect/basicassign3/clang_no_plt_no_pic/basicassign3.expected b/src/test/incorrect/basicassign3/clang_no_plt_no_pic/basicassign3.expected index 9084a306b..bbab7a47c 100644 --- a/src/test/incorrect/basicassign3/clang_no_plt_no_pic/basicassign3.expected +++ b/src/test/incorrect/basicassign3/clang_no_plt_no_pic/basicassign3.expected @@ -40,9 +40,44 @@ function memory_store8_le(memory: [bv64]bv8, index: bv64, value: bv8) returns ([ function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1892bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1893bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1894bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1895bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -60,42 +95,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R10, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R10, R31, R8, R9, mem, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1892bv64) == 1bv8); free requires (memory_load8_le(mem, 1893bv64) == 0bv8); free requires (memory_load8_le(mem, 1894bv64) == 2bv8); free requires (memory_load8_le(mem, 1895bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -104,22 +139,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -130,6 +149,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1892bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1893bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1894bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1895bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { lmain: R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; diff --git a/src/test/incorrect/basicassign3/clang_pic/basicassign3.expected b/src/test/incorrect/basicassign3/clang_pic/basicassign3.expected index 09f0bcb2b..612a6e55c 100644 --- a/src/test/incorrect/basicassign3/clang_pic/basicassign3.expected +++ b/src/test/incorrect/basicassign3/clang_pic/basicassign3.expected @@ -48,9 +48,60 @@ function memory_store8_le(memory: [bv64]bv8, index: bv64, value: bv8) returns ([ function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1964bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1965bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1966bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1967bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69584bv64) == 49bv8); + free ensures (memory_load8_le(mem, 69585bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69586bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69568bv64) == 50bv8); + free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -68,50 +119,34 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R10, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R10, R31, R8, R9, mem, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1964bv64) == 1bv8); free requires (memory_load8_le(mem, 1965bv64) == 0bv8); free requires (memory_load8_le(mem, 1966bv64) == 2bv8); free requires (memory_load8_le(mem, 1967bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 200bv8); - free requires (memory_load8_le(mem, 69545bv64) == 13bv8); - free requires (memory_load8_le(mem, 69546bv64) == 1bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 0bv8); - free requires (memory_load8_le(mem, 69553bv64) == 0bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 0bv8); - free requires (memory_load8_le(mem, 69561bv64) == 0bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 50bv8); - free requires (memory_load8_le(mem, 69569bv64) == 16bv8); - free requires (memory_load8_le(mem, 69570bv64) == 1bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 69584bv64) == 49bv8); free requires (memory_load8_le(mem, 69585bv64) == 16bv8); free requires (memory_load8_le(mem, 69586bv64) == 1bv8); @@ -120,6 +155,22 @@ procedure main() free requires (memory_load8_le(mem, 69589bv64) == 0bv8); free requires (memory_load8_le(mem, 69590bv64) == 0bv8); free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69048bv64) == 80bv8); + free requires (memory_load8_le(mem, 69049bv64) == 7bv8); + free requires (memory_load8_le(mem, 69050bv64) == 0bv8); + free requires (memory_load8_le(mem, 69051bv64) == 0bv8); + free requires (memory_load8_le(mem, 69052bv64) == 0bv8); + free requires (memory_load8_le(mem, 69053bv64) == 0bv8); + free requires (memory_load8_le(mem, 69054bv64) == 0bv8); + free requires (memory_load8_le(mem, 69055bv64) == 0bv8); + free requires (memory_load8_le(mem, 69568bv64) == 50bv8); + free requires (memory_load8_le(mem, 69569bv64) == 16bv8); + free requires (memory_load8_le(mem, 69570bv64) == 1bv8); + free requires (memory_load8_le(mem, 69571bv64) == 0bv8); + free requires (memory_load8_le(mem, 69572bv64) == 0bv8); + free requires (memory_load8_le(mem, 69573bv64) == 0bv8); + free requires (memory_load8_le(mem, 69574bv64) == 0bv8); + free requires (memory_load8_le(mem, 69575bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 84bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -128,32 +179,68 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 40bv8); - free requires (memory_load8_le(mem, 69673bv64) == 16bv8); - free requires (memory_load8_le(mem, 69674bv64) == 1bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69056bv64) == 0bv8); + free requires (memory_load8_le(mem, 69057bv64) == 7bv8); + free requires (memory_load8_le(mem, 69058bv64) == 0bv8); + free requires (memory_load8_le(mem, 69059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69060bv64) == 0bv8); + free requires (memory_load8_le(mem, 69061bv64) == 0bv8); + free requires (memory_load8_le(mem, 69062bv64) == 0bv8); + free requires (memory_load8_le(mem, 69063bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1964bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1965bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1966bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1967bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69584bv64) == 49bv8); + free ensures (memory_load8_le(mem, 69585bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69586bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69568bv64) == 50bv8); + free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); { lmain: R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; diff --git a/src/test/incorrect/basicassign3/gcc/basicassign3.expected b/src/test/incorrect/basicassign3/gcc/basicassign3.expected index 737bc7699..32c7b0f01 100644 --- a/src/test/incorrect/basicassign3/gcc/basicassign3.expected +++ b/src/test/incorrect/basicassign3/gcc/basicassign3.expected @@ -36,9 +36,44 @@ function memory_store8_le(memory: [bv64]bv8, index: bv64, value: bv8) returns ([ function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1916bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1917bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1918bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1919bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -56,98 +91,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R31, mem, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1916bv64) == 1bv8); free requires (memory_load8_le(mem, 1917bv64) == 0bv8); free requires (memory_load8_le(mem, 1918bv64) == 2bv8); free requires (memory_load8_le(mem, 1919bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -156,22 +135,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -182,6 +145,42 @@ procedure main() free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1916bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1917bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1918bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1919bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lmain: R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; diff --git a/src/test/incorrect/basicassign3/gcc_O2/basicassign3.expected b/src/test/incorrect/basicassign3/gcc_O2/basicassign3.expected index c28fd818a..fcd1c0f66 100644 --- a/src/test/incorrect/basicassign3/gcc_O2/basicassign3.expected +++ b/src/test/incorrect/basicassign3/gcc_O2/basicassign3.expected @@ -34,9 +34,44 @@ function memory_store8_le(memory: [bv64]bv8, index: bv64, value: bv8) returns ([ function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -54,98 +89,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R2, Gamma_mem, R0, R1, R2, mem; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1896bv64) == 1bv8); free requires (memory_load8_le(mem, 1897bv64) == 0bv8); free requires (memory_load8_le(mem, 1898bv64) == 2bv8); free requires (memory_load8_le(mem, 1899bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 80bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 0bv8); + free requires (memory_load8_le(mem, 69025bv64) == 7bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 0bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -154,22 +133,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -178,6 +141,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lmain: R1, Gamma_R1 := 69632bv64, true; diff --git a/src/test/incorrect/basicassign3/gcc_no_plt_no_pic/basicassign3.expected b/src/test/incorrect/basicassign3/gcc_no_plt_no_pic/basicassign3.expected index 737bc7699..32c7b0f01 100644 --- a/src/test/incorrect/basicassign3/gcc_no_plt_no_pic/basicassign3.expected +++ b/src/test/incorrect/basicassign3/gcc_no_plt_no_pic/basicassign3.expected @@ -36,9 +36,44 @@ function memory_store8_le(memory: [bv64]bv8, index: bv64, value: bv8) returns ([ function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1916bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1917bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1918bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1919bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -56,98 +91,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R31, mem, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1916bv64) == 1bv8); free requires (memory_load8_le(mem, 1917bv64) == 0bv8); free requires (memory_load8_le(mem, 1918bv64) == 2bv8); free requires (memory_load8_le(mem, 1919bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -156,22 +135,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -182,6 +145,42 @@ procedure main() free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1916bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1917bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1918bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1919bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lmain: R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; diff --git a/src/test/incorrect/basicassign3/gcc_pic/basicassign3.expected b/src/test/incorrect/basicassign3/gcc_pic/basicassign3.expected index 883dcf9dc..1ab5a2ee5 100644 --- a/src/test/incorrect/basicassign3/gcc_pic/basicassign3.expected +++ b/src/test/incorrect/basicassign3/gcc_pic/basicassign3.expected @@ -44,9 +44,60 @@ function memory_store8_le(memory: [bv64]bv8, index: bv64, value: bv8) returns ([ function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1980bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1981bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1982bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1983bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69608bv64) == 18bv8); + free ensures (memory_load8_le(mem, 69609bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69610bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69611bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69612bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69613bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69614bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69615bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 17bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -64,106 +115,26 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R31, mem, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1980bv64) == 1bv8); free requires (memory_load8_le(mem, 1981bv64) == 0bv8); free requires (memory_load8_le(mem, 1982bv64) == 2bv8); free requires (memory_load8_le(mem, 1983bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 208bv8); - free requires (memory_load8_le(mem, 69537bv64) == 5bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 208bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 208bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 152bv8); - free requires (memory_load8_le(mem, 69569bv64) == 13bv8); - free requires (memory_load8_le(mem, 69570bv64) == 1bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 17bv8); - free requires (memory_load8_le(mem, 69593bv64) == 16bv8); - free requires (memory_load8_le(mem, 69594bv64) == 1bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); free requires (memory_load8_le(mem, 69608bv64) == 18bv8); free requires (memory_load8_le(mem, 69609bv64) == 16bv8); free requires (memory_load8_le(mem, 69610bv64) == 1bv8); @@ -172,30 +143,6 @@ procedure main() free requires (memory_load8_le(mem, 69613bv64) == 0bv8); free requires (memory_load8_le(mem, 69614bv64) == 0bv8); free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 84bv8); - free requires (memory_load8_le(mem, 69617bv64) == 7bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -204,8 +151,92 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 84bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 0bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 17bv8); + free requires (memory_load8_le(mem, 69593bv64) == 16bv8); + free requires (memory_load8_le(mem, 69594bv64) == 1bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 80bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1980bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1981bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1982bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1983bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69608bv64) == 18bv8); + free ensures (memory_load8_le(mem, 69609bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69610bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69611bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69612bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69613bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69614bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69615bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 17bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); { lmain: R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; diff --git a/src/test/incorrect/iflocal/clang/iflocal.expected b/src/test/incorrect/iflocal/clang/iflocal.expected index 99e00d406..40196415d 100644 --- a/src/test/incorrect/iflocal/clang/iflocal.expected +++ b/src/test/incorrect/iflocal/clang/iflocal.expected @@ -40,9 +40,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -60,42 +95,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_stack, R0, R31, R8, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1896bv64) == 1bv8); free requires (memory_load8_le(mem, 1897bv64) == 0bv8); free requires (memory_load8_le(mem, 1898bv64) == 2bv8); free requires (memory_load8_le(mem, 1899bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -104,22 +139,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -130,6 +149,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/incorrect/iflocal/clang_no_plt_no_pic/iflocal.expected b/src/test/incorrect/iflocal/clang_no_plt_no_pic/iflocal.expected index 4882a3697..89836fe60 100644 --- a/src/test/incorrect/iflocal/clang_no_plt_no_pic/iflocal.expected +++ b/src/test/incorrect/iflocal/clang_no_plt_no_pic/iflocal.expected @@ -40,9 +40,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -60,42 +95,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_stack, R0, R31, R8, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1896bv64) == 1bv8); free requires (memory_load8_le(mem, 1897bv64) == 0bv8); free requires (memory_load8_le(mem, 1898bv64) == 2bv8); free requires (memory_load8_le(mem, 1899bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -104,22 +139,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -130,6 +149,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/incorrect/iflocal/clang_pic/iflocal.expected b/src/test/incorrect/iflocal/clang_pic/iflocal.expected index 4882a3697..89836fe60 100644 --- a/src/test/incorrect/iflocal/clang_pic/iflocal.expected +++ b/src/test/incorrect/iflocal/clang_pic/iflocal.expected @@ -40,9 +40,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -60,42 +95,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_stack, R0, R31, R8, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1896bv64) == 1bv8); free requires (memory_load8_le(mem, 1897bv64) == 0bv8); free requires (memory_load8_le(mem, 1898bv64) == 2bv8); free requires (memory_load8_le(mem, 1899bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -104,22 +139,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -130,6 +149,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1896bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1897bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1898bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1899bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/incorrect/iflocal/gcc/iflocal.expected b/src/test/incorrect/iflocal/gcc/iflocal.expected index f5d18c128..2ec0e61a4 100644 --- a/src/test/incorrect/iflocal/gcc/iflocal.expected +++ b/src/test/incorrect/iflocal/gcc/iflocal.expected @@ -38,9 +38,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1880bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1881bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1882bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1883bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -58,98 +93,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R31, Gamma_stack, R0, R31, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1880bv64) == 1bv8); free requires (memory_load8_le(mem, 1881bv64) == 0bv8); free requires (memory_load8_le(mem, 1882bv64) == 2bv8); free requires (memory_load8_le(mem, 1883bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -158,22 +137,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -184,6 +147,42 @@ procedure main() free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1880bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1881bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1882bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1883bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/incorrect/iflocal/gcc_no_plt_no_pic/iflocal.expected b/src/test/incorrect/iflocal/gcc_no_plt_no_pic/iflocal.expected index f3ccd29e2..33fea8391 100644 --- a/src/test/incorrect/iflocal/gcc_no_plt_no_pic/iflocal.expected +++ b/src/test/incorrect/iflocal/gcc_no_plt_no_pic/iflocal.expected @@ -38,9 +38,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1880bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1881bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1882bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1883bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -58,98 +93,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R31, Gamma_stack, R0, R31, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1880bv64) == 1bv8); free requires (memory_load8_le(mem, 1881bv64) == 0bv8); free requires (memory_load8_le(mem, 1882bv64) == 2bv8); free requires (memory_load8_le(mem, 1883bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -158,22 +137,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -184,6 +147,42 @@ procedure main() free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1880bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1881bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1882bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1883bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/incorrect/iflocal/gcc_pic/iflocal.expected b/src/test/incorrect/iflocal/gcc_pic/iflocal.expected index f3ccd29e2..33fea8391 100644 --- a/src/test/incorrect/iflocal/gcc_pic/iflocal.expected +++ b/src/test/incorrect/iflocal/gcc_pic/iflocal.expected @@ -38,9 +38,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1880bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1881bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1882bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1883bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -58,98 +93,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R31, Gamma_stack, R0, R31, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1880bv64) == 1bv8); free requires (memory_load8_le(mem, 1881bv64) == 0bv8); free requires (memory_load8_le(mem, 1882bv64) == 2bv8); free requires (memory_load8_le(mem, 1883bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -158,22 +137,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -184,6 +147,42 @@ procedure main() free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1880bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1881bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1882bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1883bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv32; var CF: bv1; diff --git a/src/test/incorrect/nestedifglobal/clang/nestedifglobal.expected b/src/test/incorrect/nestedifglobal/clang/nestedifglobal.expected index e17b8e8a4..fd8abe43c 100644 --- a/src/test/incorrect/nestedifglobal/clang/nestedifglobal.expected +++ b/src/test/incorrect/nestedifglobal/clang/nestedifglobal.expected @@ -46,9 +46,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1976bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1977bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1978bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1979bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -66,42 +101,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R31, R8, R9, mem, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1976bv64) == 1bv8); free requires (memory_load8_le(mem, 1977bv64) == 0bv8); free requires (memory_load8_le(mem, 1978bv64) == 2bv8); free requires (memory_load8_le(mem, 1979bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -110,22 +145,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -136,6 +155,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1976bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1977bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1978bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1979bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv32; var #5: bv32; diff --git a/src/test/incorrect/nestedifglobal/clang_no_plt_no_pic/nestedifglobal.expected b/src/test/incorrect/nestedifglobal/clang_no_plt_no_pic/nestedifglobal.expected index 5105caa29..aa0b7b66f 100644 --- a/src/test/incorrect/nestedifglobal/clang_no_plt_no_pic/nestedifglobal.expected +++ b/src/test/incorrect/nestedifglobal/clang_no_plt_no_pic/nestedifglobal.expected @@ -46,9 +46,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1976bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1977bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1978bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1979bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -66,42 +101,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R31, R8, R9, mem, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1976bv64) == 1bv8); free requires (memory_load8_le(mem, 1977bv64) == 0bv8); free requires (memory_load8_le(mem, 1978bv64) == 2bv8); free requires (memory_load8_le(mem, 1979bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -110,22 +145,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -136,6 +155,42 @@ procedure main() free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1976bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1977bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1978bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1979bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv32; var #5: bv32; diff --git a/src/test/incorrect/nestedifglobal/clang_pic/nestedifglobal.expected b/src/test/incorrect/nestedifglobal/clang_pic/nestedifglobal.expected index 3747cc0ec..d23f2aff0 100644 --- a/src/test/incorrect/nestedifglobal/clang_pic/nestedifglobal.expected +++ b/src/test/incorrect/nestedifglobal/clang_pic/nestedifglobal.expected @@ -62,9 +62,60 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2052bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2054bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69576bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69577bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69578bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69579bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69580bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69581bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69582bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69583bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69568bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -82,42 +133,26 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R31, R8, R9, mem, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 2052bv64) == 1bv8); free requires (memory_load8_le(mem, 2053bv64) == 0bv8); free requires (memory_load8_le(mem, 2054bv64) == 2bv8); free requires (memory_load8_le(mem, 2055bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 200bv8); - free requires (memory_load8_le(mem, 69545bv64) == 13bv8); - free requires (memory_load8_le(mem, 69546bv64) == 1bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 0bv8); - free requires (memory_load8_le(mem, 69553bv64) == 0bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 0bv8); - free requires (memory_load8_le(mem, 69561bv64) == 0bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 56bv8); - free requires (memory_load8_le(mem, 69569bv64) == 16bv8); - free requires (memory_load8_le(mem, 69570bv64) == 1bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); free requires (memory_load8_le(mem, 69576bv64) == 52bv8); free requires (memory_load8_le(mem, 69577bv64) == 16bv8); free requires (memory_load8_le(mem, 69578bv64) == 1bv8); @@ -126,38 +161,6 @@ procedure main() free requires (memory_load8_le(mem, 69581bv64) == 0bv8); free requires (memory_load8_le(mem, 69582bv64) == 0bv8); free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 84bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -166,8 +169,92 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69048bv64) == 80bv8); + free requires (memory_load8_le(mem, 69049bv64) == 7bv8); + free requires (memory_load8_le(mem, 69050bv64) == 0bv8); + free requires (memory_load8_le(mem, 69051bv64) == 0bv8); + free requires (memory_load8_le(mem, 69052bv64) == 0bv8); + free requires (memory_load8_le(mem, 69053bv64) == 0bv8); + free requires (memory_load8_le(mem, 69054bv64) == 0bv8); + free requires (memory_load8_le(mem, 69055bv64) == 0bv8); + free requires (memory_load8_le(mem, 69568bv64) == 56bv8); + free requires (memory_load8_le(mem, 69569bv64) == 16bv8); + free requires (memory_load8_le(mem, 69570bv64) == 1bv8); + free requires (memory_load8_le(mem, 69571bv64) == 0bv8); + free requires (memory_load8_le(mem, 69572bv64) == 0bv8); + free requires (memory_load8_le(mem, 69573bv64) == 0bv8); + free requires (memory_load8_le(mem, 69574bv64) == 0bv8); + free requires (memory_load8_le(mem, 69575bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 84bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69056bv64) == 0bv8); + free requires (memory_load8_le(mem, 69057bv64) == 7bv8); + free requires (memory_load8_le(mem, 69058bv64) == 0bv8); + free requires (memory_load8_le(mem, 69059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69060bv64) == 0bv8); + free requires (memory_load8_le(mem, 69061bv64) == 0bv8); + free requires (memory_load8_le(mem, 69062bv64) == 0bv8); + free requires (memory_load8_le(mem, 69063bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2052bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2054bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69576bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69577bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69578bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69579bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69580bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69581bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69582bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69583bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69568bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); { var #4: bv32; var #5: bv32; diff --git a/src/test/incorrect/nestedifglobal/gcc/nestedifglobal.expected b/src/test/incorrect/nestedifglobal/gcc/nestedifglobal.expected index 7d7022c73..c9e3d3fad 100644 --- a/src/test/incorrect/nestedifglobal/gcc/nestedifglobal.expected +++ b/src/test/incorrect/nestedifglobal/gcc/nestedifglobal.expected @@ -44,9 +44,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1956bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1957bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1958bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1959bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -64,98 +99,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R31, mem, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1956bv64) == 1bv8); free requires (memory_load8_le(mem, 1957bv64) == 0bv8); free requires (memory_load8_le(mem, 1958bv64) == 2bv8); free requires (memory_load8_le(mem, 1959bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -164,22 +143,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -190,6 +153,42 @@ procedure main() free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1956bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1957bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1958bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1959bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv32; var #5: bv32; diff --git a/src/test/incorrect/nestedifglobal/gcc_no_plt_no_pic/nestedifglobal.expected b/src/test/incorrect/nestedifglobal/gcc_no_plt_no_pic/nestedifglobal.expected index a6f94a59e..0d568800b 100644 --- a/src/test/incorrect/nestedifglobal/gcc_no_plt_no_pic/nestedifglobal.expected +++ b/src/test/incorrect/nestedifglobal/gcc_no_plt_no_pic/nestedifglobal.expected @@ -44,9 +44,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1956bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1957bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1958bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1959bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -64,98 +99,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R31, mem, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1956bv64) == 1bv8); free requires (memory_load8_le(mem, 1957bv64) == 0bv8); free requires (memory_load8_le(mem, 1958bv64) == 2bv8); free requires (memory_load8_le(mem, 1959bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -164,22 +143,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -190,6 +153,42 @@ procedure main() free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1956bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1957bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1958bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1959bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv32; var #5: bv32; diff --git a/src/test/incorrect/nestedifglobal/gcc_pic/nestedifglobal.expected b/src/test/incorrect/nestedifglobal/gcc_pic/nestedifglobal.expected index a55a44492..eadc00dff 100644 --- a/src/test/incorrect/nestedifglobal/gcc_pic/nestedifglobal.expected +++ b/src/test/incorrect/nestedifglobal/gcc_pic/nestedifglobal.expected @@ -52,9 +52,60 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2020bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2022bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69600bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69601bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69602bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69603bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69604bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69605bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69606bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69607bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -72,130 +123,6 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R31, mem, stack; - free requires (memory_load8_le(mem, 2020bv64) == 1bv8); - free requires (memory_load8_le(mem, 2021bv64) == 0bv8); - free requires (memory_load8_le(mem, 2022bv64) == 2bv8); - free requires (memory_load8_le(mem, 2023bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 208bv8); - free requires (memory_load8_le(mem, 69537bv64) == 5bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 208bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 208bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 152bv8); - free requires (memory_load8_le(mem, 69569bv64) == 13bv8); - free requires (memory_load8_le(mem, 69570bv64) == 1bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 24bv8); - free requires (memory_load8_le(mem, 69593bv64) == 16bv8); - free requires (memory_load8_le(mem, 69594bv64) == 1bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 20bv8); - free requires (memory_load8_le(mem, 69601bv64) == 16bv8); - free requires (memory_load8_le(mem, 69602bv64) == 1bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 84bv8); - free requires (memory_load8_le(mem, 69617bv64) == 7bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -212,8 +139,112 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 2020bv64) == 1bv8); + free requires (memory_load8_le(mem, 2021bv64) == 0bv8); + free requires (memory_load8_le(mem, 2022bv64) == 2bv8); + free requires (memory_load8_le(mem, 2023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 84bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69600bv64) == 20bv8); + free requires (memory_load8_le(mem, 69601bv64) == 16bv8); + free requires (memory_load8_le(mem, 69602bv64) == 1bv8); + free requires (memory_load8_le(mem, 69603bv64) == 0bv8); + free requires (memory_load8_le(mem, 69604bv64) == 0bv8); + free requires (memory_load8_le(mem, 69605bv64) == 0bv8); + free requires (memory_load8_le(mem, 69606bv64) == 0bv8); + free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 0bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 24bv8); + free requires (memory_load8_le(mem, 69593bv64) == 16bv8); + free requires (memory_load8_le(mem, 69594bv64) == 1bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 80bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2020bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2022bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69600bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69601bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69602bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69603bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69604bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69605bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69606bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69607bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); { var #4: bv32; var #5: bv32; From e4628d3b7e3a14363924d34ae9b0616dbb829a12 Mon Sep 17 00:00:00 2001 From: l-kent Date: Mon, 9 Oct 2023 10:45:11 +1000 Subject: [PATCH 4/7] missed a few expected files --- .../basic_function_call_caller.expected | 428 ++++++++++++++++++ .../basic_function_call_caller.expected | 424 +++++++++++++++++ .../gcc_pic/basic_lock_read.expected | 301 ++++++++++++ .../basic_lock_security_write.expected | 303 +++++++++++++ .../basic_lock_security_write.expected | 303 +++++++++++++ .../clang_pic/basic_sec_policy_write.expected | 298 ++++++++++++ .../gcc_pic/basic_sec_policy_write.expected | 298 ++++++++++++ .../clang_pic/secret_write.expected | 335 ++++++++++++++ .../gcc_pic/secret_write.expected | 341 ++++++++++++++ 9 files changed, 3031 insertions(+) create mode 100644 src/test/correct/basic_function_call_caller/clang_pic/basic_function_call_caller.expected create mode 100644 src/test/correct/basic_function_call_caller/gcc_pic/basic_function_call_caller.expected create mode 100644 src/test/correct/basic_lock_read/gcc_pic/basic_lock_read.expected create mode 100644 src/test/correct/basic_lock_security_write/clang_pic/basic_lock_security_write.expected create mode 100644 src/test/correct/basic_lock_security_write/gcc_pic/basic_lock_security_write.expected create mode 100644 src/test/correct/basic_sec_policy_write/clang_pic/basic_sec_policy_write.expected create mode 100644 src/test/correct/basic_sec_policy_write/gcc_pic/basic_sec_policy_write.expected create mode 100644 src/test/correct/secret_write/clang_pic/secret_write.expected create mode 100644 src/test/correct/secret_write/gcc_pic/secret_write.expected diff --git a/src/test/correct/basic_function_call_caller/clang_pic/basic_function_call_caller.expected b/src/test/correct/basic_function_call_caller/clang_pic/basic_function_call_caller.expected new file mode 100644 index 000000000..3a4e3c9e7 --- /dev/null +++ b/src/test/correct/basic_function_call_caller/clang_pic/basic_function_call_caller.expected @@ -0,0 +1,428 @@ +var Gamma_R0: bool; +var Gamma_R29: bool; +var Gamma_R30: bool; +var Gamma_R31: bool; +var Gamma_R8: bool; +var Gamma_R9: bool; +var Gamma_mem: [bv64]bool; +var Gamma_stack: [bv64]bool; +var R0: bv64; +var R29: bv64; +var R30: bv64; +var R31: bv64; +var R8: bv64; +var R9: bv64; +var mem: [bv64]bv8; +var stack: [bv64]bv8; +const $x_addr: bv64; +axiom ($x_addr == 69684bv64); +const $y_addr: bv64; +axiom ($y_addr == 69688bv64); +function L(memory: [bv64]bv8, index: bv64) returns (bool) { + (if (index == $y_addr) then (memory_load32_le(memory, $x_addr) == 1bv32) else (if (index == $x_addr) then true else false)) +} + +function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); +function gamma_load32(gammaMap: [bv64]bool, index: bv64) returns (bool) { + (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))) +} + +function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { + (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) +} + +function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { + gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] +} + +function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { + gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] +} + +function memory_load32_le(memory: [bv64]bv8, index: bv64) returns (bv32) { + (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))) +} + +function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { + (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) +} + +function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { + memory[index] +} + +function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { + memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] +} + +function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { + memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] +} + +function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); +procedure rely(); + modifies mem, Gamma_mem; + ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); + ensures (memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))); + ensures (memory_load32_le(mem, $y_addr) == old(memory_load32_le(mem, $y_addr))); + free ensures (memory_load8_le(mem, 1968bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1969bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1970bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1971bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69584bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69585bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69586bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69568bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 92bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); + +procedure rely_transitive() + modifies mem, Gamma_mem; + ensures (memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))); + ensures (memory_load32_le(mem, $y_addr) == old(memory_load32_le(mem, $y_addr))); +{ + call rely(); + call rely(); +} + +procedure rely_reflexive() +{ + assert (memory_load32_le(mem, $x_addr) == memory_load32_le(mem, $x_addr)); + assert (memory_load32_le(mem, $y_addr) == memory_load32_le(mem, $y_addr)); +} + +procedure guarantee_reflexive() + modifies mem, Gamma_mem; +{ + assert ((memory_load32_le(mem, $x_addr) == 0bv32) ==> (memory_load32_le(mem, $x_addr) == 0bv32)); + assert (gamma_load32(Gamma_mem, $y_addr) ==> ((memory_load32_le(mem, $x_addr) == 0bv32) || gamma_load32(Gamma_mem, $y_addr))); +} + +procedure main() + modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R29, R30, R31, R8, R9, mem, stack; + requires (Gamma_R0 == false); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 1968bv64) == 1bv8); + free requires (memory_load8_le(mem, 1969bv64) == 0bv8); + free requires (memory_load8_le(mem, 1970bv64) == 2bv8); + free requires (memory_load8_le(mem, 1971bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69584bv64) == 56bv8); + free requires (memory_load8_le(mem, 69585bv64) == 16bv8); + free requires (memory_load8_le(mem, 69586bv64) == 1bv8); + free requires (memory_load8_le(mem, 69587bv64) == 0bv8); + free requires (memory_load8_le(mem, 69588bv64) == 0bv8); + free requires (memory_load8_le(mem, 69589bv64) == 0bv8); + free requires (memory_load8_le(mem, 69590bv64) == 0bv8); + free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69048bv64) == 80bv8); + free requires (memory_load8_le(mem, 69049bv64) == 7bv8); + free requires (memory_load8_le(mem, 69050bv64) == 0bv8); + free requires (memory_load8_le(mem, 69051bv64) == 0bv8); + free requires (memory_load8_le(mem, 69052bv64) == 0bv8); + free requires (memory_load8_le(mem, 69053bv64) == 0bv8); + free requires (memory_load8_le(mem, 69054bv64) == 0bv8); + free requires (memory_load8_le(mem, 69055bv64) == 0bv8); + free requires (memory_load8_le(mem, 69568bv64) == 52bv8); + free requires (memory_load8_le(mem, 69569bv64) == 16bv8); + free requires (memory_load8_le(mem, 69570bv64) == 1bv8); + free requires (memory_load8_le(mem, 69571bv64) == 0bv8); + free requires (memory_load8_le(mem, 69572bv64) == 0bv8); + free requires (memory_load8_le(mem, 69573bv64) == 0bv8); + free requires (memory_load8_le(mem, 69574bv64) == 0bv8); + free requires (memory_load8_le(mem, 69575bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 92bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69056bv64) == 0bv8); + free requires (memory_load8_le(mem, 69057bv64) == 7bv8); + free requires (memory_load8_le(mem, 69058bv64) == 0bv8); + free requires (memory_load8_le(mem, 69059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69060bv64) == 0bv8); + free requires (memory_load8_le(mem, 69061bv64) == 0bv8); + free requires (memory_load8_le(mem, 69062bv64) == 0bv8); + free requires (memory_load8_le(mem, 69063bv64) == 0bv8); + free ensures (Gamma_R29 == old(Gamma_R29)); + free ensures (Gamma_R31 == old(Gamma_R31)); + free ensures (R29 == old(R29)); + free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1968bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1969bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1970bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1971bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69584bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69585bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69586bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69568bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 92bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); +{ + var #4: bv64; + var #5: bv64; + var Gamma_#4: bool; + var Gamma_#5: bool; + var Gamma_y_old: bool; + var x_old: bv32; + lmain: + R31, Gamma_R31 := bvadd64(R31, 18446744073709551584bv64), Gamma_R31; + #4, Gamma_#4 := bvadd64(R31, 16bv64), Gamma_R31; + stack, Gamma_stack := memory_store64_le(stack, #4, R29), gamma_store64(Gamma_stack, #4, Gamma_R29); + stack, Gamma_stack := memory_store64_le(stack, bvadd64(#4, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#4, 8bv64), Gamma_R30); + R29, Gamma_R29 := bvadd64(R31, 16bv64), Gamma_R31; + stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551612bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551612bv64), Gamma_R0); + R30, Gamma_R30 := 1904bv64, true; + call zero(); + goto l00000329; + l00000329: + R8, Gamma_R8 := 65536bv64, true; + R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R8, 4032bv64)), (gamma_load64(Gamma_mem, bvadd64(R8, 4032bv64)) || L(mem, bvadd64(R8, 4032bv64))); + call rely(); + assert (L(mem, R8) ==> Gamma_R0); + x_old := memory_load32_le(mem, $x_addr); + Gamma_y_old := (gamma_load32(Gamma_mem, $y_addr) || L(mem, $y_addr)); + mem, Gamma_mem := memory_store32_le(mem, R8, R0[32:0]), gamma_store32(Gamma_mem, R8, Gamma_R0); + assert ((R8 == $x_addr) ==> (L(mem, $y_addr) ==> Gamma_y_old)); + assert ((x_old == 0bv32) ==> (memory_load32_le(mem, $x_addr) == 0bv32)); + assert (Gamma_y_old ==> ((memory_load32_le(mem, $x_addr) == 0bv32) || gamma_load32(Gamma_mem, $y_addr))); + R8, Gamma_R8 := zero_extend32_32(memory_load32_le(mem, bvadd64(R29, 18446744073709551612bv64))), (gamma_load32(Gamma_mem, bvadd64(R29, 18446744073709551612bv64)) || L(mem, bvadd64(R29, 18446744073709551612bv64))); + R9, Gamma_R9 := 65536bv64, true; + R9, Gamma_R9 := memory_load64_le(mem, bvadd64(R9, 4048bv64)), (gamma_load64(Gamma_mem, bvadd64(R9, 4048bv64)) || L(mem, bvadd64(R9, 4048bv64))); + call rely(); + assert (L(mem, R9) ==> Gamma_R8); + x_old := memory_load32_le(mem, $x_addr); + Gamma_y_old := (gamma_load32(Gamma_mem, $y_addr) || L(mem, $y_addr)); + mem, Gamma_mem := memory_store32_le(mem, R9, R8[32:0]), gamma_store32(Gamma_mem, R9, Gamma_R8); + assert ((R9 == $x_addr) ==> (L(mem, $y_addr) ==> Gamma_y_old)); + assert ((x_old == 0bv32) ==> (memory_load32_le(mem, $x_addr) == 0bv32)); + assert (Gamma_y_old ==> ((memory_load32_le(mem, $x_addr) == 0bv32) || gamma_load32(Gamma_mem, $y_addr))); + R0, Gamma_R0 := 0bv64, true; + #5, Gamma_#5 := bvadd64(R31, 16bv64), Gamma_R31; + R29, Gamma_R29 := memory_load64_le(mem, #5), (gamma_load64(Gamma_mem, #5) || L(mem, #5)); + R30, Gamma_R30 := memory_load64_le(mem, bvadd64(#5, 8bv64)), (gamma_load64(Gamma_mem, bvadd64(#5, 8bv64)) || L(mem, bvadd64(#5, 8bv64))); + R31, Gamma_R31 := bvadd64(R31, 32bv64), Gamma_R31; + return; +} + +procedure zero() + modifies Gamma_R0, R0; + free requires (memory_load8_le(mem, 1968bv64) == 1bv8); + free requires (memory_load8_le(mem, 1969bv64) == 0bv8); + free requires (memory_load8_le(mem, 1970bv64) == 2bv8); + free requires (memory_load8_le(mem, 1971bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69584bv64) == 56bv8); + free requires (memory_load8_le(mem, 69585bv64) == 16bv8); + free requires (memory_load8_le(mem, 69586bv64) == 1bv8); + free requires (memory_load8_le(mem, 69587bv64) == 0bv8); + free requires (memory_load8_le(mem, 69588bv64) == 0bv8); + free requires (memory_load8_le(mem, 69589bv64) == 0bv8); + free requires (memory_load8_le(mem, 69590bv64) == 0bv8); + free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69048bv64) == 80bv8); + free requires (memory_load8_le(mem, 69049bv64) == 7bv8); + free requires (memory_load8_le(mem, 69050bv64) == 0bv8); + free requires (memory_load8_le(mem, 69051bv64) == 0bv8); + free requires (memory_load8_le(mem, 69052bv64) == 0bv8); + free requires (memory_load8_le(mem, 69053bv64) == 0bv8); + free requires (memory_load8_le(mem, 69054bv64) == 0bv8); + free requires (memory_load8_le(mem, 69055bv64) == 0bv8); + free requires (memory_load8_le(mem, 69568bv64) == 52bv8); + free requires (memory_load8_le(mem, 69569bv64) == 16bv8); + free requires (memory_load8_le(mem, 69570bv64) == 1bv8); + free requires (memory_load8_le(mem, 69571bv64) == 0bv8); + free requires (memory_load8_le(mem, 69572bv64) == 0bv8); + free requires (memory_load8_le(mem, 69573bv64) == 0bv8); + free requires (memory_load8_le(mem, 69574bv64) == 0bv8); + free requires (memory_load8_le(mem, 69575bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 92bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69056bv64) == 0bv8); + free requires (memory_load8_le(mem, 69057bv64) == 7bv8); + free requires (memory_load8_le(mem, 69058bv64) == 0bv8); + free requires (memory_load8_le(mem, 69059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69060bv64) == 0bv8); + free requires (memory_load8_le(mem, 69061bv64) == 0bv8); + free requires (memory_load8_le(mem, 69062bv64) == 0bv8); + free requires (memory_load8_le(mem, 69063bv64) == 0bv8); + ensures ((R0[32:0] == 0bv32) && Gamma_R0); + free ensures (memory_load8_le(mem, 1968bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1969bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1970bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1971bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69584bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69585bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69586bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69568bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 92bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); +{ + lzero: + R0, Gamma_R0 := 0bv64, true; + return; +} diff --git a/src/test/correct/basic_function_call_caller/gcc_pic/basic_function_call_caller.expected b/src/test/correct/basic_function_call_caller/gcc_pic/basic_function_call_caller.expected new file mode 100644 index 000000000..f88d56db3 --- /dev/null +++ b/src/test/correct/basic_function_call_caller/gcc_pic/basic_function_call_caller.expected @@ -0,0 +1,424 @@ +var Gamma_R0: bool; +var Gamma_R1: bool; +var Gamma_R29: bool; +var Gamma_R30: bool; +var Gamma_R31: bool; +var Gamma_mem: [bv64]bool; +var Gamma_stack: [bv64]bool; +var R0: bv64; +var R1: bv64; +var R29: bv64; +var R30: bv64; +var R31: bv64; +var mem: [bv64]bv8; +var stack: [bv64]bv8; +const $x_addr: bv64; +axiom ($x_addr == 69652bv64); +const $y_addr: bv64; +axiom ($y_addr == 69656bv64); +function L(memory: [bv64]bv8, index: bv64) returns (bool) { + (if (index == $y_addr) then (memory_load32_le(memory, $x_addr) == 1bv32) else (if (index == $x_addr) then true else false)) +} + +function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); +function gamma_load32(gammaMap: [bv64]bool, index: bv64) returns (bool) { + (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))) +} + +function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { + (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) +} + +function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { + gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] +} + +function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { + gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] +} + +function memory_load32_le(memory: [bv64]bv8, index: bv64) returns (bv32) { + (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))) +} + +function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { + (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) +} + +function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { + memory[index] +} + +function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { + memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] +} + +function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { + memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] +} + +function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); +procedure rely(); + modifies mem, Gamma_mem; + ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); + ensures (memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))); + ensures (memory_load32_le(mem, $y_addr) == old(memory_load32_le(mem, $y_addr))); + free ensures (memory_load8_le(mem, 1964bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1965bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1966bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1967bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69608bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69609bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69610bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69611bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69612bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69613bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69614bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69615bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 92bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + +procedure rely_transitive() + modifies mem, Gamma_mem; + ensures (memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))); + ensures (memory_load32_le(mem, $y_addr) == old(memory_load32_le(mem, $y_addr))); +{ + call rely(); + call rely(); +} + +procedure rely_reflexive() +{ + assert (memory_load32_le(mem, $x_addr) == memory_load32_le(mem, $x_addr)); + assert (memory_load32_le(mem, $y_addr) == memory_load32_le(mem, $y_addr)); +} + +procedure guarantee_reflexive() + modifies mem, Gamma_mem; +{ + assert ((memory_load32_le(mem, $x_addr) == 0bv32) ==> (memory_load32_le(mem, $x_addr) == 0bv32)); + assert (gamma_load32(Gamma_mem, $y_addr) ==> ((memory_load32_le(mem, $x_addr) == 0bv32) || gamma_load32(Gamma_mem, $y_addr))); +} + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, mem, stack; + requires (Gamma_R0 == false); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 1964bv64) == 1bv8); + free requires (memory_load8_le(mem, 1965bv64) == 0bv8); + free requires (memory_load8_le(mem, 1966bv64) == 2bv8); + free requires (memory_load8_le(mem, 1967bv64) == 0bv8); + free requires (memory_load8_le(mem, 69608bv64) == 24bv8); + free requires (memory_load8_le(mem, 69609bv64) == 16bv8); + free requires (memory_load8_le(mem, 69610bv64) == 1bv8); + free requires (memory_load8_le(mem, 69611bv64) == 0bv8); + free requires (memory_load8_le(mem, 69612bv64) == 0bv8); + free requires (memory_load8_le(mem, 69613bv64) == 0bv8); + free requires (memory_load8_le(mem, 69614bv64) == 0bv8); + free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 92bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 0bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 16bv8); + free requires (memory_load8_le(mem, 69594bv64) == 1bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 80bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (Gamma_R29 == old(Gamma_R29)); + free ensures (Gamma_R31 == old(Gamma_R31)); + free ensures (R29 == old(R29)); + free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1964bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1965bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1966bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1967bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69608bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69609bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69610bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69611bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69612bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69613bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69614bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69615bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 92bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); +{ + var #4: bv64; + var Gamma_#4: bool; + var Gamma_y_old: bool; + var x_old: bv32; + lmain: + #4, Gamma_#4 := bvadd64(R31, 18446744073709551584bv64), Gamma_R31; + stack, Gamma_stack := memory_store64_le(stack, #4, R29), gamma_store64(Gamma_stack, #4, Gamma_R29); + stack, Gamma_stack := memory_store64_le(stack, bvadd64(#4, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#4, 8bv64), Gamma_R30); + R31, Gamma_R31 := #4, Gamma_#4; + R29, Gamma_R29 := R31, Gamma_R31; + stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 28bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 28bv64), Gamma_R0); + R30, Gamma_R30 := 1900bv64, true; + call zero(); + goto l00000323; + l00000323: + R1, Gamma_R1 := zero_extend32_32(R0[32:0]), Gamma_R0; + R0, Gamma_R0 := 65536bv64, true; + R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4056bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4056bv64)) || L(mem, bvadd64(R0, 4056bv64))); + call rely(); + assert (L(mem, R0) ==> Gamma_R1); + x_old := memory_load32_le(mem, $x_addr); + Gamma_y_old := (gamma_load32(Gamma_mem, $y_addr) || L(mem, $y_addr)); + mem, Gamma_mem := memory_store32_le(mem, R0, R1[32:0]), gamma_store32(Gamma_mem, R0, Gamma_R1); + assert ((R0 == $x_addr) ==> (L(mem, $y_addr) ==> Gamma_y_old)); + assert ((x_old == 0bv32) ==> (memory_load32_le(mem, $x_addr) == 0bv32)); + assert (Gamma_y_old ==> ((memory_load32_le(mem, $x_addr) == 0bv32) || gamma_load32(Gamma_mem, $y_addr))); + R0, Gamma_R0 := 65536bv64, true; + R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4072bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4072bv64)) || L(mem, bvadd64(R0, 4072bv64))); + R1, Gamma_R1 := zero_extend32_32(memory_load32_le(mem, bvadd64(R31, 28bv64))), (gamma_load32(Gamma_mem, bvadd64(R31, 28bv64)) || L(mem, bvadd64(R31, 28bv64))); + call rely(); + assert (L(mem, R0) ==> Gamma_R1); + x_old := memory_load32_le(mem, $x_addr); + Gamma_y_old := (gamma_load32(Gamma_mem, $y_addr) || L(mem, $y_addr)); + mem, Gamma_mem := memory_store32_le(mem, R0, R1[32:0]), gamma_store32(Gamma_mem, R0, Gamma_R1); + assert ((R0 == $x_addr) ==> (L(mem, $y_addr) ==> Gamma_y_old)); + assert ((x_old == 0bv32) ==> (memory_load32_le(mem, $x_addr) == 0bv32)); + assert (Gamma_y_old ==> ((memory_load32_le(mem, $x_addr) == 0bv32) || gamma_load32(Gamma_mem, $y_addr))); + R0, Gamma_R0 := 0bv64, true; + R29, Gamma_R29 := memory_load64_le(mem, R31), (gamma_load64(Gamma_mem, R31) || L(mem, R31)); + R30, Gamma_R30 := memory_load64_le(mem, bvadd64(R31, 8bv64)), (gamma_load64(Gamma_mem, bvadd64(R31, 8bv64)) || L(mem, bvadd64(R31, 8bv64))); + R31, Gamma_R31 := bvadd64(R31, 32bv64), Gamma_R31; + return; +} + +procedure zero() + modifies Gamma_R0, R0; + free requires (memory_load8_le(mem, 1964bv64) == 1bv8); + free requires (memory_load8_le(mem, 1965bv64) == 0bv8); + free requires (memory_load8_le(mem, 1966bv64) == 2bv8); + free requires (memory_load8_le(mem, 1967bv64) == 0bv8); + free requires (memory_load8_le(mem, 69608bv64) == 24bv8); + free requires (memory_load8_le(mem, 69609bv64) == 16bv8); + free requires (memory_load8_le(mem, 69610bv64) == 1bv8); + free requires (memory_load8_le(mem, 69611bv64) == 0bv8); + free requires (memory_load8_le(mem, 69612bv64) == 0bv8); + free requires (memory_load8_le(mem, 69613bv64) == 0bv8); + free requires (memory_load8_le(mem, 69614bv64) == 0bv8); + free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 92bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 0bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 16bv8); + free requires (memory_load8_le(mem, 69594bv64) == 1bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 80bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + ensures ((R0[32:0] == 0bv32) && Gamma_R0); + free ensures (memory_load8_le(mem, 1964bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1965bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1966bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1967bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69608bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69609bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69610bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69611bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69612bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69613bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69614bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69615bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 92bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); +{ + lzero: + R0, Gamma_R0 := 0bv64, true; + return; +} diff --git a/src/test/correct/basic_lock_read/gcc_pic/basic_lock_read.expected b/src/test/correct/basic_lock_read/gcc_pic/basic_lock_read.expected new file mode 100644 index 000000000..b6ba1412c --- /dev/null +++ b/src/test/correct/basic_lock_read/gcc_pic/basic_lock_read.expected @@ -0,0 +1,301 @@ +var Gamma_R0: bool; +var Gamma_R31: bool; +var Gamma_mem: [bv64]bool; +var Gamma_stack: [bv64]bool; +var R0: bv64; +var R31: bv64; +var mem: [bv64]bv8; +var stack: [bv64]bv8; +const $x_addr: bv64; +axiom ($x_addr == 69652bv64); +const $z_addr: bv64; +axiom ($z_addr == 69656bv64); +function L(memory: [bv64]bv8, index: bv64) returns (bool) { + (if (index == $x_addr) then true else (if (index == $z_addr) then true else false)) +} + +function {:bvbuiltin "bvadd"} bvadd32(bv32, bv32) returns (bv32); +function {:bvbuiltin "bvadd"} bvadd33(bv33, bv33) returns (bv33); +function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); +function {:bvbuiltin "bvcomp"} bvcomp1(bv1, bv1) returns (bv1); +function {:bvbuiltin "bvcomp"} bvcomp32(bv32, bv32) returns (bv1); +function {:bvbuiltin "bvcomp"} bvcomp33(bv33, bv33) returns (bv1); +function {:bvbuiltin "bvnot"} bvnot1(bv1) returns (bv1); +function gamma_load32(gammaMap: [bv64]bool, index: bv64) returns (bool) { + (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))) +} + +function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { + (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) +} + +function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { + gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] +} + +function memory_load32_le(memory: [bv64]bv8, index: bv64) returns (bv32) { + (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))) +} + +function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { + (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) +} + +function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { + memory[index] +} + +function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { + memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] +} + +function {:bvbuiltin "sign_extend 1"} sign_extend1_32(bv32) returns (bv33); +function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); +function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); +procedure rely(); + modifies mem, Gamma_mem; + ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); + ensures ((old(memory_load32_le(mem, $z_addr)) == 0bv32) ==> ((memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))) && (memory_load32_le(mem, $z_addr) == old(memory_load32_le(mem, $z_addr))))); + free ensures (memory_load8_le(mem, 1964bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1965bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1966bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1967bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69600bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69601bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69602bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69603bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69604bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69605bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69606bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69607bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + +procedure rely_transitive() + modifies mem, Gamma_mem; + ensures ((old(memory_load32_le(mem, $z_addr)) == 0bv32) ==> ((memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr))) && (memory_load32_le(mem, $z_addr) == old(memory_load32_le(mem, $z_addr))))); +{ + call rely(); + call rely(); +} + +procedure rely_reflexive() +{ + assert ((memory_load32_le(mem, $z_addr) == 0bv32) ==> ((memory_load32_le(mem, $x_addr) == memory_load32_le(mem, $x_addr)) && (memory_load32_le(mem, $z_addr) == memory_load32_le(mem, $z_addr)))); +} + +procedure guarantee_reflexive() + modifies mem, Gamma_mem; +{ + assert (memory_load32_le(mem, $z_addr) == memory_load32_le(mem, $z_addr)); +} + +procedure main() + modifies Gamma_R0, Gamma_R31, Gamma_mem, Gamma_stack, R0, R31, mem, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 1964bv64) == 1bv8); + free requires (memory_load8_le(mem, 1965bv64) == 0bv8); + free requires (memory_load8_le(mem, 1966bv64) == 2bv8); + free requires (memory_load8_le(mem, 1967bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 84bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69600bv64) == 20bv8); + free requires (memory_load8_le(mem, 69601bv64) == 16bv8); + free requires (memory_load8_le(mem, 69602bv64) == 1bv8); + free requires (memory_load8_le(mem, 69603bv64) == 0bv8); + free requires (memory_load8_le(mem, 69604bv64) == 0bv8); + free requires (memory_load8_le(mem, 69605bv64) == 0bv8); + free requires (memory_load8_le(mem, 69606bv64) == 0bv8); + free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 0bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 24bv8); + free requires (memory_load8_le(mem, 69593bv64) == 16bv8); + free requires (memory_load8_le(mem, 69594bv64) == 1bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 80bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + ensures (R0[32:0] == 0bv32); + free ensures (Gamma_R31 == old(Gamma_R31)); + free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1964bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1965bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1966bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1967bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69600bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69601bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69602bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69603bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69604bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69605bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69606bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69607bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); +{ + var #4: bv32; + var CF: bv1; + var Gamma_#4: bool; + var Gamma_CF: bool; + var Gamma_NF: bool; + var Gamma_VF: bool; + var Gamma_ZF: bool; + var NF: bv1; + var VF: bv1; + var ZF: bv1; + var z_old: bv32; + lmain: + R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; + stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 12bv64), 0bv32), gamma_store32(Gamma_stack, bvadd64(R31, 12bv64), true); + R0, Gamma_R0 := 65536bv64, true; + R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4056bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4056bv64)) || L(mem, bvadd64(R0, 4056bv64))); + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(mem, R0)), (gamma_load32(Gamma_mem, R0) || L(mem, R0)); + #4, Gamma_#4 := bvadd32(R0[32:0], 4294967295bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#4, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 0bv33))), (Gamma_R0 && Gamma_#4); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#4, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967296bv33))), (Gamma_R0 && Gamma_#4); + ZF, Gamma_ZF := bvcomp32(bvadd32(#4, 1bv32), 0bv32), Gamma_#4; + NF, Gamma_NF := bvadd32(#4, 1bv32)[32:31], Gamma_#4; + assert Gamma_ZF; + if ((bvnot1(bvcomp1(ZF, 1bv1)) != 0bv1)) { + goto l00000328; + } + goto l0000033f; + l0000033f: + R0, Gamma_R0 := 65536bv64, true; + R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4064bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4064bv64)) || L(mem, bvadd64(R0, 4064bv64))); + call rely(); + assert (L(mem, R0) ==> true); + z_old := memory_load32_le(mem, $z_addr); + mem, Gamma_mem := memory_store32_le(mem, R0, 0bv32), gamma_store32(Gamma_mem, R0, true); + assert (memory_load32_le(mem, $z_addr) == z_old); + R0, Gamma_R0 := 65536bv64, true; + R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4064bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4064bv64)) || L(mem, bvadd64(R0, 4064bv64))); + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(mem, R0)), (gamma_load32(Gamma_mem, R0) || L(mem, R0)); + stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 12bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 12bv64), Gamma_R0); + goto l00000328; + l00000328: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 12bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 12bv64)); + R31, Gamma_R31 := bvadd64(R31, 16bv64), Gamma_R31; + return; +} diff --git a/src/test/correct/basic_lock_security_write/clang_pic/basic_lock_security_write.expected b/src/test/correct/basic_lock_security_write/clang_pic/basic_lock_security_write.expected new file mode 100644 index 000000000..acb290d63 --- /dev/null +++ b/src/test/correct/basic_lock_security_write/clang_pic/basic_lock_security_write.expected @@ -0,0 +1,303 @@ +var Gamma_R0: bool; +var Gamma_R10: bool; +var Gamma_R31: bool; +var Gamma_R8: bool; +var Gamma_R9: bool; +var Gamma_mem: [bv64]bool; +var Gamma_stack: [bv64]bool; +var R0: bv64; +var R10: bv64; +var R31: bv64; +var R8: bv64; +var R9: bv64; +var mem: [bv64]bv8; +var stack: [bv64]bv8; +const $x_addr: bv64; +axiom ($x_addr == 69688bv64); +const $z_addr: bv64; +axiom ($z_addr == 69684bv64); +function L(memory: [bv64]bv8, index: bv64) returns (bool) { + (if (index == $x_addr) then (memory_load32_le(memory, $z_addr) == 0bv32) else (if (index == $z_addr) then true else false)) +} + +function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); +function gamma_load32(gammaMap: [bv64]bool, index: bv64) returns (bool) { + (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))) +} + +function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { + (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) +} + +function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { + gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] +} + +function memory_load32_le(memory: [bv64]bv8, index: bv64) returns (bv32) { + (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))) +} + +function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { + (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) +} + +function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { + memory[index] +} + +function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { + memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] +} + +function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); +procedure rely(); + modifies mem, Gamma_mem; + ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); + ensures ((memory_load32_le(mem, $z_addr) == old(memory_load32_le(mem, $z_addr))) && (memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr)))); + free ensures (memory_load8_le(mem, 1956bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1957bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1958bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1959bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69576bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69577bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69578bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69579bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69580bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69581bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69582bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69583bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69568bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); + +procedure rely_transitive() + modifies mem, Gamma_mem; + ensures ((memory_load32_le(mem, $z_addr) == old(memory_load32_le(mem, $z_addr))) && (memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr)))); +{ + call rely(); + call rely(); +} + +procedure rely_reflexive() +{ + assert ((memory_load32_le(mem, $z_addr) == memory_load32_le(mem, $z_addr)) && (memory_load32_le(mem, $x_addr) == memory_load32_le(mem, $x_addr))); +} + +procedure guarantee_reflexive() + modifies mem, Gamma_mem; +{ + assert ((memory_load32_le(mem, $z_addr) == 0bv32) ==> ((memory_load32_le(mem, $x_addr) == memory_load32_le(mem, $x_addr)) && (memory_load32_le(mem, $z_addr) == memory_load32_le(mem, $z_addr)))); +} + +procedure main() + modifies Gamma_R0, Gamma_R10, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R10, R31, R8, R9, mem, stack; + requires (memory_load32_le(mem, $z_addr) != 0bv32); + requires (Gamma_R0 == false); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 1956bv64) == 1bv8); + free requires (memory_load8_le(mem, 1957bv64) == 0bv8); + free requires (memory_load8_le(mem, 1958bv64) == 2bv8); + free requires (memory_load8_le(mem, 1959bv64) == 0bv8); + free requires (memory_load8_le(mem, 69576bv64) == 56bv8); + free requires (memory_load8_le(mem, 69577bv64) == 16bv8); + free requires (memory_load8_le(mem, 69578bv64) == 1bv8); + free requires (memory_load8_le(mem, 69579bv64) == 0bv8); + free requires (memory_load8_le(mem, 69580bv64) == 0bv8); + free requires (memory_load8_le(mem, 69581bv64) == 0bv8); + free requires (memory_load8_le(mem, 69582bv64) == 0bv8); + free requires (memory_load8_le(mem, 69583bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69048bv64) == 80bv8); + free requires (memory_load8_le(mem, 69049bv64) == 7bv8); + free requires (memory_load8_le(mem, 69050bv64) == 0bv8); + free requires (memory_load8_le(mem, 69051bv64) == 0bv8); + free requires (memory_load8_le(mem, 69052bv64) == 0bv8); + free requires (memory_load8_le(mem, 69053bv64) == 0bv8); + free requires (memory_load8_le(mem, 69054bv64) == 0bv8); + free requires (memory_load8_le(mem, 69055bv64) == 0bv8); + free requires (memory_load8_le(mem, 69568bv64) == 52bv8); + free requires (memory_load8_le(mem, 69569bv64) == 16bv8); + free requires (memory_load8_le(mem, 69570bv64) == 1bv8); + free requires (memory_load8_le(mem, 69571bv64) == 0bv8); + free requires (memory_load8_le(mem, 69572bv64) == 0bv8); + free requires (memory_load8_le(mem, 69573bv64) == 0bv8); + free requires (memory_load8_le(mem, 69574bv64) == 0bv8); + free requires (memory_load8_le(mem, 69575bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 84bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69056bv64) == 0bv8); + free requires (memory_load8_le(mem, 69057bv64) == 7bv8); + free requires (memory_load8_le(mem, 69058bv64) == 0bv8); + free requires (memory_load8_le(mem, 69059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69060bv64) == 0bv8); + free requires (memory_load8_le(mem, 69061bv64) == 0bv8); + free requires (memory_load8_le(mem, 69062bv64) == 0bv8); + free requires (memory_load8_le(mem, 69063bv64) == 0bv8); + free ensures (Gamma_R31 == old(Gamma_R31)); + free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1956bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1957bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1958bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1959bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69576bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69577bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69578bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69579bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69580bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69581bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69582bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69583bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69568bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); +{ + var Gamma_x_old: bool; + var x_old: bv32; + var z_old: bv32; + lmain: + R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; + stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 12bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 12bv64), Gamma_R0); + R8, Gamma_R8 := 65536bv64, true; + R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R8, 4032bv64)), (gamma_load64(Gamma_mem, bvadd64(R8, 4032bv64)) || L(mem, bvadd64(R8, 4032bv64))); + R9, Gamma_R9 := 1bv64, true; + call rely(); + assert (L(mem, R8) ==> Gamma_R9); + z_old := memory_load32_le(mem, $z_addr); + x_old := memory_load32_le(mem, $x_addr); + Gamma_x_old := (gamma_load32(Gamma_mem, $x_addr) || L(mem, $x_addr)); + mem, Gamma_mem := memory_store32_le(mem, R8, R9[32:0]), gamma_store32(Gamma_mem, R8, Gamma_R9); + assert ((R8 == $z_addr) ==> (L(mem, $x_addr) ==> Gamma_x_old)); + assert ((z_old == 0bv32) ==> ((memory_load32_le(mem, $x_addr) == x_old) && (memory_load32_le(mem, $z_addr) == z_old))); + R10, Gamma_R10 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 12bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 12bv64)); + R9, Gamma_R9 := 65536bv64, true; + R9, Gamma_R9 := memory_load64_le(mem, bvadd64(R9, 4040bv64)), (gamma_load64(Gamma_mem, bvadd64(R9, 4040bv64)) || L(mem, bvadd64(R9, 4040bv64))); + call rely(); + assert (L(mem, R9) ==> Gamma_R10); + z_old := memory_load32_le(mem, $z_addr); + x_old := memory_load32_le(mem, $x_addr); + Gamma_x_old := (gamma_load32(Gamma_mem, $x_addr) || L(mem, $x_addr)); + mem, Gamma_mem := memory_store32_le(mem, R9, R10[32:0]), gamma_store32(Gamma_mem, R9, Gamma_R10); + assert ((R9 == $z_addr) ==> (L(mem, $x_addr) ==> Gamma_x_old)); + assert ((z_old == 0bv32) ==> ((memory_load32_le(mem, $x_addr) == x_old) && (memory_load32_le(mem, $z_addr) == z_old))); + R0, Gamma_R0 := 0bv64, true; + call rely(); + assert (L(mem, R9) ==> true); + z_old := memory_load32_le(mem, $z_addr); + x_old := memory_load32_le(mem, $x_addr); + Gamma_x_old := (gamma_load32(Gamma_mem, $x_addr) || L(mem, $x_addr)); + mem, Gamma_mem := memory_store32_le(mem, R9, 0bv32), gamma_store32(Gamma_mem, R9, true); + assert ((R9 == $z_addr) ==> (L(mem, $x_addr) ==> Gamma_x_old)); + assert ((z_old == 0bv32) ==> ((memory_load32_le(mem, $x_addr) == x_old) && (memory_load32_le(mem, $z_addr) == z_old))); + call rely(); + assert (L(mem, R8) ==> true); + z_old := memory_load32_le(mem, $z_addr); + x_old := memory_load32_le(mem, $x_addr); + Gamma_x_old := (gamma_load32(Gamma_mem, $x_addr) || L(mem, $x_addr)); + mem, Gamma_mem := memory_store32_le(mem, R8, 0bv32), gamma_store32(Gamma_mem, R8, true); + assert ((R8 == $z_addr) ==> (L(mem, $x_addr) ==> Gamma_x_old)); + assert ((z_old == 0bv32) ==> ((memory_load32_le(mem, $x_addr) == x_old) && (memory_load32_le(mem, $z_addr) == z_old))); + R31, Gamma_R31 := bvadd64(R31, 16bv64), Gamma_R31; + return; +} diff --git a/src/test/correct/basic_lock_security_write/gcc_pic/basic_lock_security_write.expected b/src/test/correct/basic_lock_security_write/gcc_pic/basic_lock_security_write.expected new file mode 100644 index 000000000..12667d063 --- /dev/null +++ b/src/test/correct/basic_lock_security_write/gcc_pic/basic_lock_security_write.expected @@ -0,0 +1,303 @@ +var Gamma_R0: bool; +var Gamma_R1: bool; +var Gamma_R31: bool; +var Gamma_mem: [bv64]bool; +var Gamma_stack: [bv64]bool; +var R0: bv64; +var R1: bv64; +var R31: bv64; +var mem: [bv64]bv8; +var stack: [bv64]bv8; +const $x_addr: bv64; +axiom ($x_addr == 69652bv64); +const $z_addr: bv64; +axiom ($z_addr == 69656bv64); +function L(memory: [bv64]bv8, index: bv64) returns (bool) { + (if (index == $x_addr) then (memory_load32_le(memory, $z_addr) == 0bv32) else (if (index == $z_addr) then true else false)) +} + +function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); +function gamma_load32(gammaMap: [bv64]bool, index: bv64) returns (bool) { + (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))) +} + +function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { + (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) +} + +function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { + gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] +} + +function memory_load32_le(memory: [bv64]bv8, index: bv64) returns (bv32) { + (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))) +} + +function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { + (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) +} + +function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { + memory[index] +} + +function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { + memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] +} + +function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); +procedure rely(); + modifies mem, Gamma_mem; + ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); + ensures ((memory_load32_le(mem, $z_addr) == old(memory_load32_le(mem, $z_addr))) && (memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr)))); + free ensures (memory_load8_le(mem, 1972bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1973bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1974bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1975bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69600bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69601bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69602bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69603bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69604bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69605bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69606bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69607bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + +procedure rely_transitive() + modifies mem, Gamma_mem; + ensures ((memory_load32_le(mem, $z_addr) == old(memory_load32_le(mem, $z_addr))) && (memory_load32_le(mem, $x_addr) == old(memory_load32_le(mem, $x_addr)))); +{ + call rely(); + call rely(); +} + +procedure rely_reflexive() +{ + assert ((memory_load32_le(mem, $z_addr) == memory_load32_le(mem, $z_addr)) && (memory_load32_le(mem, $x_addr) == memory_load32_le(mem, $x_addr))); +} + +procedure guarantee_reflexive() + modifies mem, Gamma_mem; +{ + assert ((memory_load32_le(mem, $z_addr) == 0bv32) ==> ((memory_load32_le(mem, $x_addr) == memory_load32_le(mem, $x_addr)) && (memory_load32_le(mem, $z_addr) == memory_load32_le(mem, $z_addr)))); +} + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R31, mem, stack; + requires (memory_load32_le(mem, $z_addr) != 0bv32); + requires (Gamma_R0 == false); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 1972bv64) == 1bv8); + free requires (memory_load8_le(mem, 1973bv64) == 0bv8); + free requires (memory_load8_le(mem, 1974bv64) == 2bv8); + free requires (memory_load8_le(mem, 1975bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 84bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69600bv64) == 20bv8); + free requires (memory_load8_le(mem, 69601bv64) == 16bv8); + free requires (memory_load8_le(mem, 69602bv64) == 1bv8); + free requires (memory_load8_le(mem, 69603bv64) == 0bv8); + free requires (memory_load8_le(mem, 69604bv64) == 0bv8); + free requires (memory_load8_le(mem, 69605bv64) == 0bv8); + free requires (memory_load8_le(mem, 69606bv64) == 0bv8); + free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 0bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 24bv8); + free requires (memory_load8_le(mem, 69593bv64) == 16bv8); + free requires (memory_load8_le(mem, 69594bv64) == 1bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 80bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (Gamma_R31 == old(Gamma_R31)); + free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1972bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1973bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1974bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1975bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69600bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69601bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69602bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69603bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69604bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69605bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69606bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69607bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); +{ + var Gamma_x_old: bool; + var x_old: bv32; + var z_old: bv32; + lmain: + R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; + stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 12bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 12bv64), Gamma_R0); + R0, Gamma_R0 := 65536bv64, true; + R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4056bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4056bv64)) || L(mem, bvadd64(R0, 4056bv64))); + R1, Gamma_R1 := 1bv64, true; + call rely(); + assert (L(mem, R0) ==> Gamma_R1); + z_old := memory_load32_le(mem, $z_addr); + x_old := memory_load32_le(mem, $x_addr); + Gamma_x_old := (gamma_load32(Gamma_mem, $x_addr) || L(mem, $x_addr)); + mem, Gamma_mem := memory_store32_le(mem, R0, R1[32:0]), gamma_store32(Gamma_mem, R0, Gamma_R1); + assert ((R0 == $z_addr) ==> (L(mem, $x_addr) ==> Gamma_x_old)); + assert ((z_old == 0bv32) ==> ((memory_load32_le(mem, $x_addr) == x_old) && (memory_load32_le(mem, $z_addr) == z_old))); + R0, Gamma_R0 := 65536bv64, true; + R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4064bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4064bv64)) || L(mem, bvadd64(R0, 4064bv64))); + R1, Gamma_R1 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 12bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 12bv64)); + call rely(); + assert (L(mem, R0) ==> Gamma_R1); + z_old := memory_load32_le(mem, $z_addr); + x_old := memory_load32_le(mem, $x_addr); + Gamma_x_old := (gamma_load32(Gamma_mem, $x_addr) || L(mem, $x_addr)); + mem, Gamma_mem := memory_store32_le(mem, R0, R1[32:0]), gamma_store32(Gamma_mem, R0, Gamma_R1); + assert ((R0 == $z_addr) ==> (L(mem, $x_addr) ==> Gamma_x_old)); + assert ((z_old == 0bv32) ==> ((memory_load32_le(mem, $x_addr) == x_old) && (memory_load32_le(mem, $z_addr) == z_old))); + R0, Gamma_R0 := 65536bv64, true; + R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4064bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4064bv64)) || L(mem, bvadd64(R0, 4064bv64))); + call rely(); + assert (L(mem, R0) ==> true); + z_old := memory_load32_le(mem, $z_addr); + x_old := memory_load32_le(mem, $x_addr); + Gamma_x_old := (gamma_load32(Gamma_mem, $x_addr) || L(mem, $x_addr)); + mem, Gamma_mem := memory_store32_le(mem, R0, 0bv32), gamma_store32(Gamma_mem, R0, true); + assert ((R0 == $z_addr) ==> (L(mem, $x_addr) ==> Gamma_x_old)); + assert ((z_old == 0bv32) ==> ((memory_load32_le(mem, $x_addr) == x_old) && (memory_load32_le(mem, $z_addr) == z_old))); + R0, Gamma_R0 := 65536bv64, true; + R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4056bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4056bv64)) || L(mem, bvadd64(R0, 4056bv64))); + call rely(); + assert (L(mem, R0) ==> true); + z_old := memory_load32_le(mem, $z_addr); + x_old := memory_load32_le(mem, $x_addr); + Gamma_x_old := (gamma_load32(Gamma_mem, $x_addr) || L(mem, $x_addr)); + mem, Gamma_mem := memory_store32_le(mem, R0, 0bv32), gamma_store32(Gamma_mem, R0, true); + assert ((R0 == $z_addr) ==> (L(mem, $x_addr) ==> Gamma_x_old)); + assert ((z_old == 0bv32) ==> ((memory_load32_le(mem, $x_addr) == x_old) && (memory_load32_le(mem, $z_addr) == z_old))); + R0, Gamma_R0 := 0bv64, true; + R31, Gamma_R31 := bvadd64(R31, 16bv64), Gamma_R31; + return; +} diff --git a/src/test/correct/basic_sec_policy_write/clang_pic/basic_sec_policy_write.expected b/src/test/correct/basic_sec_policy_write/clang_pic/basic_sec_policy_write.expected new file mode 100644 index 000000000..7e7412b7b --- /dev/null +++ b/src/test/correct/basic_sec_policy_write/clang_pic/basic_sec_policy_write.expected @@ -0,0 +1,298 @@ +var Gamma_R0: bool; +var Gamma_R10: bool; +var Gamma_R31: bool; +var Gamma_R8: bool; +var Gamma_R9: bool; +var Gamma_mem: [bv64]bool; +var Gamma_stack: [bv64]bool; +var R0: bv64; +var R10: bv64; +var R31: bv64; +var R8: bv64; +var R9: bv64; +var mem: [bv64]bv8; +var stack: [bv64]bv8; +const $x_addr: bv64; +axiom ($x_addr == 69688bv64); +const $z_addr: bv64; +axiom ($z_addr == 69684bv64); +function L(memory: [bv64]bv8, index: bv64) returns (bool) { + (if (index == $z_addr) then true else (if (index == $x_addr) then (memory_load32_le(memory, $z_addr) == 0bv32) else false)) +} + +function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); +function gamma_load32(gammaMap: [bv64]bool, index: bv64) returns (bool) { + (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))) +} + +function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { + (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) +} + +function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { + gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] +} + +function memory_load32_le(memory: [bv64]bv8, index: bv64) returns (bv32) { + (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))) +} + +function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { + (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) +} + +function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { + memory[index] +} + +function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { + memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] +} + +function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); +procedure rely(); + modifies mem, Gamma_mem; + ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); + ensures (old(memory_load32_le(mem, $z_addr)) == memory_load32_le(mem, $z_addr)); + free ensures (memory_load8_le(mem, 1960bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1961bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1962bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1963bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69576bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69577bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69578bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69579bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69580bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69581bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69582bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69583bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69568bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); + +procedure rely_transitive() + modifies mem, Gamma_mem; + ensures (old(memory_load32_le(mem, $z_addr)) == memory_load32_le(mem, $z_addr)); +{ + call rely(); + call rely(); +} + +procedure rely_reflexive() +{ + assert (memory_load32_le(mem, $z_addr) == memory_load32_le(mem, $z_addr)); +} + +procedure guarantee_reflexive() + modifies mem, Gamma_mem; +{ + assert ((memory_load32_le(mem, $z_addr) != 0bv32) ==> (memory_load32_le(mem, $z_addr) != 0bv32)); +} + +procedure main() + modifies Gamma_R0, Gamma_R10, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R10, R31, R8, R9, mem, stack; + requires (Gamma_R0 == false); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 1960bv64) == 1bv8); + free requires (memory_load8_le(mem, 1961bv64) == 0bv8); + free requires (memory_load8_le(mem, 1962bv64) == 2bv8); + free requires (memory_load8_le(mem, 1963bv64) == 0bv8); + free requires (memory_load8_le(mem, 69576bv64) == 56bv8); + free requires (memory_load8_le(mem, 69577bv64) == 16bv8); + free requires (memory_load8_le(mem, 69578bv64) == 1bv8); + free requires (memory_load8_le(mem, 69579bv64) == 0bv8); + free requires (memory_load8_le(mem, 69580bv64) == 0bv8); + free requires (memory_load8_le(mem, 69581bv64) == 0bv8); + free requires (memory_load8_le(mem, 69582bv64) == 0bv8); + free requires (memory_load8_le(mem, 69583bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69048bv64) == 80bv8); + free requires (memory_load8_le(mem, 69049bv64) == 7bv8); + free requires (memory_load8_le(mem, 69050bv64) == 0bv8); + free requires (memory_load8_le(mem, 69051bv64) == 0bv8); + free requires (memory_load8_le(mem, 69052bv64) == 0bv8); + free requires (memory_load8_le(mem, 69053bv64) == 0bv8); + free requires (memory_load8_le(mem, 69054bv64) == 0bv8); + free requires (memory_load8_le(mem, 69055bv64) == 0bv8); + free requires (memory_load8_le(mem, 69568bv64) == 52bv8); + free requires (memory_load8_le(mem, 69569bv64) == 16bv8); + free requires (memory_load8_le(mem, 69570bv64) == 1bv8); + free requires (memory_load8_le(mem, 69571bv64) == 0bv8); + free requires (memory_load8_le(mem, 69572bv64) == 0bv8); + free requires (memory_load8_le(mem, 69573bv64) == 0bv8); + free requires (memory_load8_le(mem, 69574bv64) == 0bv8); + free requires (memory_load8_le(mem, 69575bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 84bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69056bv64) == 0bv8); + free requires (memory_load8_le(mem, 69057bv64) == 7bv8); + free requires (memory_load8_le(mem, 69058bv64) == 0bv8); + free requires (memory_load8_le(mem, 69059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69060bv64) == 0bv8); + free requires (memory_load8_le(mem, 69061bv64) == 0bv8); + free requires (memory_load8_le(mem, 69062bv64) == 0bv8); + free requires (memory_load8_le(mem, 69063bv64) == 0bv8); + free ensures (Gamma_R31 == old(Gamma_R31)); + free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1960bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1961bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1962bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1963bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69576bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69577bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69578bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69579bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69580bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69581bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69582bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69583bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69568bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); +{ + var Gamma_x_old: bool; + var z_old: bv32; + lmain: + R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; + stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 12bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 12bv64), Gamma_R0); + R9, Gamma_R9 := 65536bv64, true; + R9, Gamma_R9 := memory_load64_le(mem, bvadd64(R9, 4032bv64)), (gamma_load64(Gamma_mem, bvadd64(R9, 4032bv64)) || L(mem, bvadd64(R9, 4032bv64))); + R8, Gamma_R8 := 1bv64, true; + call rely(); + assert (L(mem, R9) ==> Gamma_R8); + z_old := memory_load32_le(mem, $z_addr); + Gamma_x_old := (gamma_load32(Gamma_mem, $x_addr) || L(mem, $x_addr)); + mem, Gamma_mem := memory_store32_le(mem, R9, R8[32:0]), gamma_store32(Gamma_mem, R9, Gamma_R8); + assert ((R9 == $z_addr) ==> (L(mem, $x_addr) ==> Gamma_x_old)); + assert ((z_old != 0bv32) ==> (memory_load32_le(mem, $z_addr) != 0bv32)); + R10, Gamma_R10 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 12bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 12bv64)); + R8, Gamma_R8 := 65536bv64, true; + R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R8, 4040bv64)), (gamma_load64(Gamma_mem, bvadd64(R8, 4040bv64)) || L(mem, bvadd64(R8, 4040bv64))); + call rely(); + assert (L(mem, R8) ==> Gamma_R10); + z_old := memory_load32_le(mem, $z_addr); + Gamma_x_old := (gamma_load32(Gamma_mem, $x_addr) || L(mem, $x_addr)); + mem, Gamma_mem := memory_store32_le(mem, R8, R10[32:0]), gamma_store32(Gamma_mem, R8, Gamma_R10); + assert ((R8 == $z_addr) ==> (L(mem, $x_addr) ==> Gamma_x_old)); + assert ((z_old != 0bv32) ==> (memory_load32_le(mem, $z_addr) != 0bv32)); + R0, Gamma_R0 := 0bv64, true; + call rely(); + assert (L(mem, R8) ==> true); + z_old := memory_load32_le(mem, $z_addr); + Gamma_x_old := (gamma_load32(Gamma_mem, $x_addr) || L(mem, $x_addr)); + mem, Gamma_mem := memory_store32_le(mem, R8, 0bv32), gamma_store32(Gamma_mem, R8, true); + assert ((R8 == $z_addr) ==> (L(mem, $x_addr) ==> Gamma_x_old)); + assert ((z_old != 0bv32) ==> (memory_load32_le(mem, $z_addr) != 0bv32)); + R8, Gamma_R8 := 2bv64, true; + call rely(); + assert (L(mem, R9) ==> Gamma_R8); + z_old := memory_load32_le(mem, $z_addr); + Gamma_x_old := (gamma_load32(Gamma_mem, $x_addr) || L(mem, $x_addr)); + mem, Gamma_mem := memory_store32_le(mem, R9, R8[32:0]), gamma_store32(Gamma_mem, R9, Gamma_R8); + assert ((R9 == $z_addr) ==> (L(mem, $x_addr) ==> Gamma_x_old)); + assert ((z_old != 0bv32) ==> (memory_load32_le(mem, $z_addr) != 0bv32)); + R31, Gamma_R31 := bvadd64(R31, 16bv64), Gamma_R31; + return; +} diff --git a/src/test/correct/basic_sec_policy_write/gcc_pic/basic_sec_policy_write.expected b/src/test/correct/basic_sec_policy_write/gcc_pic/basic_sec_policy_write.expected new file mode 100644 index 000000000..43ae9ed97 --- /dev/null +++ b/src/test/correct/basic_sec_policy_write/gcc_pic/basic_sec_policy_write.expected @@ -0,0 +1,298 @@ +var Gamma_R0: bool; +var Gamma_R1: bool; +var Gamma_R31: bool; +var Gamma_mem: [bv64]bool; +var Gamma_stack: [bv64]bool; +var R0: bv64; +var R1: bv64; +var R31: bv64; +var mem: [bv64]bv8; +var stack: [bv64]bv8; +const $x_addr: bv64; +axiom ($x_addr == 69652bv64); +const $z_addr: bv64; +axiom ($z_addr == 69656bv64); +function L(memory: [bv64]bv8, index: bv64) returns (bool) { + (if (index == $z_addr) then true else (if (index == $x_addr) then (memory_load32_le(memory, $z_addr) == 0bv32) else false)) +} + +function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); +function gamma_load32(gammaMap: [bv64]bool, index: bv64) returns (bool) { + (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))) +} + +function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { + (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) +} + +function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { + gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] +} + +function memory_load32_le(memory: [bv64]bv8, index: bv64) returns (bv32) { + (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))) +} + +function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { + (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) +} + +function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { + memory[index] +} + +function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { + memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] +} + +function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); +procedure rely(); + modifies mem, Gamma_mem; + ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); + ensures (old(memory_load32_le(mem, $z_addr)) == memory_load32_le(mem, $z_addr)); + free ensures (memory_load8_le(mem, 1976bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1977bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1978bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1979bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69600bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69601bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69602bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69603bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69604bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69605bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69606bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69607bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + +procedure rely_transitive() + modifies mem, Gamma_mem; + ensures (old(memory_load32_le(mem, $z_addr)) == memory_load32_le(mem, $z_addr)); +{ + call rely(); + call rely(); +} + +procedure rely_reflexive() +{ + assert (memory_load32_le(mem, $z_addr) == memory_load32_le(mem, $z_addr)); +} + +procedure guarantee_reflexive() + modifies mem, Gamma_mem; +{ + assert ((memory_load32_le(mem, $z_addr) != 0bv32) ==> (memory_load32_le(mem, $z_addr) != 0bv32)); +} + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R31, mem, stack; + requires (Gamma_R0 == false); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 1976bv64) == 1bv8); + free requires (memory_load8_le(mem, 1977bv64) == 0bv8); + free requires (memory_load8_le(mem, 1978bv64) == 2bv8); + free requires (memory_load8_le(mem, 1979bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 84bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69600bv64) == 20bv8); + free requires (memory_load8_le(mem, 69601bv64) == 16bv8); + free requires (memory_load8_le(mem, 69602bv64) == 1bv8); + free requires (memory_load8_le(mem, 69603bv64) == 0bv8); + free requires (memory_load8_le(mem, 69604bv64) == 0bv8); + free requires (memory_load8_le(mem, 69605bv64) == 0bv8); + free requires (memory_load8_le(mem, 69606bv64) == 0bv8); + free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 0bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 24bv8); + free requires (memory_load8_le(mem, 69593bv64) == 16bv8); + free requires (memory_load8_le(mem, 69594bv64) == 1bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 80bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (Gamma_R31 == old(Gamma_R31)); + free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1976bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1977bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1978bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1979bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69600bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69601bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69602bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69603bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69604bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69605bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69606bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69607bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); +{ + var Gamma_x_old: bool; + var z_old: bv32; + lmain: + R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; + stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 12bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 12bv64), Gamma_R0); + R0, Gamma_R0 := 65536bv64, true; + R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4056bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4056bv64)) || L(mem, bvadd64(R0, 4056bv64))); + R1, Gamma_R1 := 1bv64, true; + call rely(); + assert (L(mem, R0) ==> Gamma_R1); + z_old := memory_load32_le(mem, $z_addr); + Gamma_x_old := (gamma_load32(Gamma_mem, $x_addr) || L(mem, $x_addr)); + mem, Gamma_mem := memory_store32_le(mem, R0, R1[32:0]), gamma_store32(Gamma_mem, R0, Gamma_R1); + assert ((R0 == $z_addr) ==> (L(mem, $x_addr) ==> Gamma_x_old)); + assert ((z_old != 0bv32) ==> (memory_load32_le(mem, $z_addr) != 0bv32)); + R0, Gamma_R0 := 65536bv64, true; + R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4064bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4064bv64)) || L(mem, bvadd64(R0, 4064bv64))); + R1, Gamma_R1 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 12bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 12bv64)); + call rely(); + assert (L(mem, R0) ==> Gamma_R1); + z_old := memory_load32_le(mem, $z_addr); + Gamma_x_old := (gamma_load32(Gamma_mem, $x_addr) || L(mem, $x_addr)); + mem, Gamma_mem := memory_store32_le(mem, R0, R1[32:0]), gamma_store32(Gamma_mem, R0, Gamma_R1); + assert ((R0 == $z_addr) ==> (L(mem, $x_addr) ==> Gamma_x_old)); + assert ((z_old != 0bv32) ==> (memory_load32_le(mem, $z_addr) != 0bv32)); + R0, Gamma_R0 := 65536bv64, true; + R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4064bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4064bv64)) || L(mem, bvadd64(R0, 4064bv64))); + call rely(); + assert (L(mem, R0) ==> true); + z_old := memory_load32_le(mem, $z_addr); + Gamma_x_old := (gamma_load32(Gamma_mem, $x_addr) || L(mem, $x_addr)); + mem, Gamma_mem := memory_store32_le(mem, R0, 0bv32), gamma_store32(Gamma_mem, R0, true); + assert ((R0 == $z_addr) ==> (L(mem, $x_addr) ==> Gamma_x_old)); + assert ((z_old != 0bv32) ==> (memory_load32_le(mem, $z_addr) != 0bv32)); + R0, Gamma_R0 := 65536bv64, true; + R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4056bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4056bv64)) || L(mem, bvadd64(R0, 4056bv64))); + R1, Gamma_R1 := 2bv64, true; + call rely(); + assert (L(mem, R0) ==> Gamma_R1); + z_old := memory_load32_le(mem, $z_addr); + Gamma_x_old := (gamma_load32(Gamma_mem, $x_addr) || L(mem, $x_addr)); + mem, Gamma_mem := memory_store32_le(mem, R0, R1[32:0]), gamma_store32(Gamma_mem, R0, Gamma_R1); + assert ((R0 == $z_addr) ==> (L(mem, $x_addr) ==> Gamma_x_old)); + assert ((z_old != 0bv32) ==> (memory_load32_le(mem, $z_addr) != 0bv32)); + R0, Gamma_R0 := 0bv64, true; + R31, Gamma_R31 := bvadd64(R31, 16bv64), Gamma_R31; + return; +} diff --git a/src/test/correct/secret_write/clang_pic/secret_write.expected b/src/test/correct/secret_write/clang_pic/secret_write.expected new file mode 100644 index 000000000..2ee0be178 --- /dev/null +++ b/src/test/correct/secret_write/clang_pic/secret_write.expected @@ -0,0 +1,335 @@ +var Gamma_R0: bool; +var Gamma_R10: bool; +var Gamma_R8: bool; +var Gamma_R9: bool; +var Gamma_mem: [bv64]bool; +var R0: bv64; +var R10: bv64; +var R8: bv64; +var R9: bv64; +var mem: [bv64]bv8; +const $secret_addr: bv64; +axiom ($secret_addr == 69688bv64); +const $x_addr: bv64; +axiom ($x_addr == 69692bv64); +const $z_addr: bv64; +axiom ($z_addr == 69684bv64); +function L(memory: [bv64]bv8, index: bv64) returns (bool) { + (if (index == $secret_addr) then false else (if (index == $x_addr) then (bvsmod32(memory_load32_le(memory, $z_addr), 2bv32) == 0bv32) else (if (index == $z_addr) then true else false))) +} + +function {:bvbuiltin "bvadd"} bvadd32(bv32, bv32) returns (bv32); +function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); +function {:bvbuiltin "bvsge"} bvsge32(bv32, bv32) returns (bool); +function {:bvbuiltin "bvsmod"} bvsmod32(bv32, bv32) returns (bv32); +function gamma_load32(gammaMap: [bv64]bool, index: bv64) returns (bool) { + (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))) +} + +function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { + (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) +} + +function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { + gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] +} + +function memory_load32_le(memory: [bv64]bv8, index: bv64) returns (bv32) { + (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))) +} + +function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { + (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) +} + +function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { + memory[index] +} + +function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { + memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] +} + +function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); +procedure rely(); + modifies mem, Gamma_mem; + ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); + ensures (memory_load32_le(mem, $z_addr) == old(memory_load32_le(mem, $z_addr))); + ensures (old(gamma_load32(Gamma_mem, $x_addr)) ==> gamma_load32(Gamma_mem, $x_addr)); + free ensures (memory_load8_le(mem, 1968bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1969bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1970bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1971bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69584bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69585bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69586bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69040bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69041bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69042bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69043bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69044bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69045bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69046bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69047bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69568bv64) == 60bv8); + free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69560bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69561bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69562bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69563bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69564bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69565bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69566bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69567bv64) == 0bv8); + +procedure rely_transitive() + modifies mem, Gamma_mem; + ensures (memory_load32_le(mem, $z_addr) == old(memory_load32_le(mem, $z_addr))); + ensures (old(gamma_load32(Gamma_mem, $x_addr)) ==> gamma_load32(Gamma_mem, $x_addr)); +{ + call rely(); + call rely(); +} + +procedure rely_reflexive() +{ + assert (memory_load32_le(mem, $z_addr) == memory_load32_le(mem, $z_addr)); + assert (gamma_load32(Gamma_mem, $x_addr) ==> gamma_load32(Gamma_mem, $x_addr)); +} + +procedure guarantee_reflexive() + modifies mem, Gamma_mem; +{ + assert bvsge32(memory_load32_le(mem, $z_addr), memory_load32_le(mem, $z_addr)); +} + +procedure main() + modifies Gamma_R0, Gamma_R10, Gamma_R8, Gamma_R9, Gamma_mem, R0, R10, R8, R9, mem; + requires (gamma_load32(Gamma_mem, $x_addr) == true); + requires (gamma_load32(Gamma_mem, $z_addr) == true); + requires (gamma_load32(Gamma_mem, $secret_addr) == false); + requires (memory_load32_le(mem, $z_addr) == 0bv32); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 1968bv64) == 1bv8); + free requires (memory_load8_le(mem, 1969bv64) == 0bv8); + free requires (memory_load8_le(mem, 1970bv64) == 2bv8); + free requires (memory_load8_le(mem, 1971bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69584bv64) == 56bv8); + free requires (memory_load8_le(mem, 69585bv64) == 16bv8); + free requires (memory_load8_le(mem, 69586bv64) == 1bv8); + free requires (memory_load8_le(mem, 69587bv64) == 0bv8); + free requires (memory_load8_le(mem, 69588bv64) == 0bv8); + free requires (memory_load8_le(mem, 69589bv64) == 0bv8); + free requires (memory_load8_le(mem, 69590bv64) == 0bv8); + free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69048bv64) == 0bv8); + free requires (memory_load8_le(mem, 69049bv64) == 7bv8); + free requires (memory_load8_le(mem, 69050bv64) == 0bv8); + free requires (memory_load8_le(mem, 69051bv64) == 0bv8); + free requires (memory_load8_le(mem, 69052bv64) == 0bv8); + free requires (memory_load8_le(mem, 69053bv64) == 0bv8); + free requires (memory_load8_le(mem, 69054bv64) == 0bv8); + free requires (memory_load8_le(mem, 69055bv64) == 0bv8); + free requires (memory_load8_le(mem, 69040bv64) == 80bv8); + free requires (memory_load8_le(mem, 69041bv64) == 7bv8); + free requires (memory_load8_le(mem, 69042bv64) == 0bv8); + free requires (memory_load8_le(mem, 69043bv64) == 0bv8); + free requires (memory_load8_le(mem, 69044bv64) == 0bv8); + free requires (memory_load8_le(mem, 69045bv64) == 0bv8); + free requires (memory_load8_le(mem, 69046bv64) == 0bv8); + free requires (memory_load8_le(mem, 69047bv64) == 0bv8); + free requires (memory_load8_le(mem, 69568bv64) == 60bv8); + free requires (memory_load8_le(mem, 69569bv64) == 16bv8); + free requires (memory_load8_le(mem, 69570bv64) == 1bv8); + free requires (memory_load8_le(mem, 69571bv64) == 0bv8); + free requires (memory_load8_le(mem, 69572bv64) == 0bv8); + free requires (memory_load8_le(mem, 69573bv64) == 0bv8); + free requires (memory_load8_le(mem, 69574bv64) == 0bv8); + free requires (memory_load8_le(mem, 69575bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 84bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69560bv64) == 52bv8); + free requires (memory_load8_le(mem, 69561bv64) == 16bv8); + free requires (memory_load8_le(mem, 69562bv64) == 1bv8); + free requires (memory_load8_le(mem, 69563bv64) == 0bv8); + free requires (memory_load8_le(mem, 69564bv64) == 0bv8); + free requires (memory_load8_le(mem, 69565bv64) == 0bv8); + free requires (memory_load8_le(mem, 69566bv64) == 0bv8); + free requires (memory_load8_le(mem, 69567bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1968bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1969bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1970bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1971bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69584bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69585bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69586bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69040bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69041bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69042bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69043bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69044bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69045bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69046bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69047bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69568bv64) == 60bv8); + free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69560bv64) == 52bv8); + free ensures (memory_load8_le(mem, 69561bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69562bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69563bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69564bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69565bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69566bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69567bv64) == 0bv8); +{ + var Gamma_x_old: bool; + var z_old: bv32; + lmain: + R9, Gamma_R9 := 65536bv64, true; + R9, Gamma_R9 := memory_load64_le(mem, bvadd64(R9, 4024bv64)), (gamma_load64(Gamma_mem, bvadd64(R9, 4024bv64)) || L(mem, bvadd64(R9, 4024bv64))); + R0, Gamma_R0 := 0bv64, true; + call rely(); + assert (L(mem, R9) ==> true); + z_old := memory_load32_le(mem, $z_addr); + Gamma_x_old := (gamma_load32(Gamma_mem, $x_addr) || L(mem, $x_addr)); + mem, Gamma_mem := memory_store32_le(mem, R9, 0bv32), gamma_store32(Gamma_mem, R9, true); + assert ((R9 == $z_addr) ==> (L(mem, $x_addr) ==> Gamma_x_old)); + assert bvsge32(memory_load32_le(mem, $z_addr), z_old); + R8, Gamma_R8 := zero_extend32_32(memory_load32_le(mem, R9)), (gamma_load32(Gamma_mem, R9) || L(mem, R9)); + R8, Gamma_R8 := zero_extend32_32(bvadd32(R8[32:0], 1bv32)), Gamma_R8; + call rely(); + assert (L(mem, R9) ==> Gamma_R8); + z_old := memory_load32_le(mem, $z_addr); + Gamma_x_old := (gamma_load32(Gamma_mem, $x_addr) || L(mem, $x_addr)); + mem, Gamma_mem := memory_store32_le(mem, R9, R8[32:0]), gamma_store32(Gamma_mem, R9, Gamma_R8); + assert ((R9 == $z_addr) ==> (L(mem, $x_addr) ==> Gamma_x_old)); + assert bvsge32(memory_load32_le(mem, $z_addr), z_old); + R8, Gamma_R8 := 65536bv64, true; + R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R8, 4048bv64)), (gamma_load64(Gamma_mem, bvadd64(R8, 4048bv64)) || L(mem, bvadd64(R8, 4048bv64))); + R10, Gamma_R10 := zero_extend32_32(memory_load32_le(mem, R8)), (gamma_load32(Gamma_mem, R8) || L(mem, R8)); + R8, Gamma_R8 := 65536bv64, true; + R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R8, 4032bv64)), (gamma_load64(Gamma_mem, bvadd64(R8, 4032bv64)) || L(mem, bvadd64(R8, 4032bv64))); + call rely(); + assert (L(mem, R8) ==> Gamma_R10); + z_old := memory_load32_le(mem, $z_addr); + Gamma_x_old := (gamma_load32(Gamma_mem, $x_addr) || L(mem, $x_addr)); + mem, Gamma_mem := memory_store32_le(mem, R8, R10[32:0]), gamma_store32(Gamma_mem, R8, Gamma_R10); + assert ((R8 == $z_addr) ==> (L(mem, $x_addr) ==> Gamma_x_old)); + assert bvsge32(memory_load32_le(mem, $z_addr), z_old); + call rely(); + assert (L(mem, R8) ==> true); + z_old := memory_load32_le(mem, $z_addr); + Gamma_x_old := (gamma_load32(Gamma_mem, $x_addr) || L(mem, $x_addr)); + mem, Gamma_mem := memory_store32_le(mem, R8, 0bv32), gamma_store32(Gamma_mem, R8, true); + assert ((R8 == $z_addr) ==> (L(mem, $x_addr) ==> Gamma_x_old)); + assert bvsge32(memory_load32_le(mem, $z_addr), z_old); + R8, Gamma_R8 := zero_extend32_32(memory_load32_le(mem, R9)), (gamma_load32(Gamma_mem, R9) || L(mem, R9)); + R8, Gamma_R8 := zero_extend32_32(bvadd32(R8[32:0], 1bv32)), Gamma_R8; + call rely(); + assert (L(mem, R9) ==> Gamma_R8); + z_old := memory_load32_le(mem, $z_addr); + Gamma_x_old := (gamma_load32(Gamma_mem, $x_addr) || L(mem, $x_addr)); + mem, Gamma_mem := memory_store32_le(mem, R9, R8[32:0]), gamma_store32(Gamma_mem, R9, Gamma_R8); + assert ((R9 == $z_addr) ==> (L(mem, $x_addr) ==> Gamma_x_old)); + assert bvsge32(memory_load32_le(mem, $z_addr), z_old); + return; +} diff --git a/src/test/correct/secret_write/gcc_pic/secret_write.expected b/src/test/correct/secret_write/gcc_pic/secret_write.expected new file mode 100644 index 000000000..61ac58fb1 --- /dev/null +++ b/src/test/correct/secret_write/gcc_pic/secret_write.expected @@ -0,0 +1,341 @@ +var Gamma_R0: bool; +var Gamma_R1: bool; +var Gamma_mem: [bv64]bool; +var R0: bv64; +var R1: bv64; +var mem: [bv64]bv8; +const $secret_addr: bv64; +axiom ($secret_addr == 69660bv64); +const $x_addr: bv64; +axiom ($x_addr == 69656bv64); +const $z_addr: bv64; +axiom ($z_addr == 69652bv64); +function L(memory: [bv64]bv8, index: bv64) returns (bool) { + (if (index == $secret_addr) then false else (if (index == $x_addr) then (bvsmod32(memory_load32_le(memory, $z_addr), 2bv32) == 0bv32) else (if (index == $z_addr) then true else false))) +} + +function {:bvbuiltin "bvadd"} bvadd32(bv32, bv32) returns (bv32); +function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); +function {:bvbuiltin "bvsge"} bvsge32(bv32, bv32) returns (bool); +function {:bvbuiltin "bvsmod"} bvsmod32(bv32, bv32) returns (bv32); +function gamma_load32(gammaMap: [bv64]bool, index: bv64) returns (bool) { + (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))) +} + +function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { + (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) +} + +function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { + gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] +} + +function memory_load32_le(memory: [bv64]bv8, index: bv64) returns (bv32) { + (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))) +} + +function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { + (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) +} + +function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { + memory[index] +} + +function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { + memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] +} + +function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); +procedure rely(); + modifies mem, Gamma_mem; + ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); + ensures (memory_load32_le(mem, $z_addr) == old(memory_load32_le(mem, $z_addr))); + ensures (old(gamma_load32(Gamma_mem, $x_addr)) ==> gamma_load32(Gamma_mem, $x_addr)); + free ensures (memory_load8_le(mem, 2008bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2009bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2010bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69608bv64) == 28bv8); + free ensures (memory_load8_le(mem, 69609bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69610bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69611bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69612bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69613bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69614bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69615bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69584bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69585bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69586bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 80bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 7bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + +procedure rely_transitive() + modifies mem, Gamma_mem; + ensures (memory_load32_le(mem, $z_addr) == old(memory_load32_le(mem, $z_addr))); + ensures (old(gamma_load32(Gamma_mem, $x_addr)) ==> gamma_load32(Gamma_mem, $x_addr)); +{ + call rely(); + call rely(); +} + +procedure rely_reflexive() +{ + assert (memory_load32_le(mem, $z_addr) == memory_load32_le(mem, $z_addr)); + assert (gamma_load32(Gamma_mem, $x_addr) ==> gamma_load32(Gamma_mem, $x_addr)); +} + +procedure guarantee_reflexive() + modifies mem, Gamma_mem; +{ + assert bvsge32(memory_load32_le(mem, $z_addr), memory_load32_le(mem, $z_addr)); +} + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; + requires (gamma_load32(Gamma_mem, $x_addr) == true); + requires (gamma_load32(Gamma_mem, $z_addr) == true); + requires (gamma_load32(Gamma_mem, $secret_addr) == false); + requires (memory_load32_le(mem, $z_addr) == 0bv32); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 2008bv64) == 1bv8); + free requires (memory_load8_le(mem, 2009bv64) == 0bv8); + free requires (memory_load8_le(mem, 2010bv64) == 2bv8); + free requires (memory_load8_le(mem, 2011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69608bv64) == 28bv8); + free requires (memory_load8_le(mem, 69609bv64) == 16bv8); + free requires (memory_load8_le(mem, 69610bv64) == 1bv8); + free requires (memory_load8_le(mem, 69611bv64) == 0bv8); + free requires (memory_load8_le(mem, 69612bv64) == 0bv8); + free requires (memory_load8_le(mem, 69613bv64) == 0bv8); + free requires (memory_load8_le(mem, 69614bv64) == 0bv8); + free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 84bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69584bv64) == 20bv8); + free requires (memory_load8_le(mem, 69585bv64) == 16bv8); + free requires (memory_load8_le(mem, 69586bv64) == 1bv8); + free requires (memory_load8_le(mem, 69587bv64) == 0bv8); + free requires (memory_load8_le(mem, 69588bv64) == 0bv8); + free requires (memory_load8_le(mem, 69589bv64) == 0bv8); + free requires (memory_load8_le(mem, 69590bv64) == 0bv8); + free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 24bv8); + free requires (memory_load8_le(mem, 69593bv64) == 16bv8); + free requires (memory_load8_le(mem, 69594bv64) == 1bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 0bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 80bv8); + free requires (memory_load8_le(mem, 68993bv64) == 7bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2008bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2009bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2010bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69608bv64) == 28bv8); + free ensures (memory_load8_le(mem, 69609bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69610bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69611bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69612bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69613bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69614bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69615bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69584bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69585bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69586bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 80bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 7bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); +{ + var Gamma_x_old: bool; + var z_old: bv32; + lmain: + R0, Gamma_R0 := 65536bv64, true; + R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4048bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4048bv64)) || L(mem, bvadd64(R0, 4048bv64))); + call rely(); + assert (L(mem, R0) ==> true); + z_old := memory_load32_le(mem, $z_addr); + Gamma_x_old := (gamma_load32(Gamma_mem, $x_addr) || L(mem, $x_addr)); + mem, Gamma_mem := memory_store32_le(mem, R0, 0bv32), gamma_store32(Gamma_mem, R0, true); + assert ((R0 == $z_addr) ==> (L(mem, $x_addr) ==> Gamma_x_old)); + assert bvsge32(memory_load32_le(mem, $z_addr), z_old); + R0, Gamma_R0 := 65536bv64, true; + R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4048bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4048bv64)) || L(mem, bvadd64(R0, 4048bv64))); + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(mem, R0)), (gamma_load32(Gamma_mem, R0) || L(mem, R0)); + R1, Gamma_R1 := zero_extend32_32(bvadd32(R0[32:0], 1bv32)), Gamma_R0; + R0, Gamma_R0 := 65536bv64, true; + R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4048bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4048bv64)) || L(mem, bvadd64(R0, 4048bv64))); + call rely(); + assert (L(mem, R0) ==> Gamma_R1); + z_old := memory_load32_le(mem, $z_addr); + Gamma_x_old := (gamma_load32(Gamma_mem, $x_addr) || L(mem, $x_addr)); + mem, Gamma_mem := memory_store32_le(mem, R0, R1[32:0]), gamma_store32(Gamma_mem, R0, Gamma_R1); + assert ((R0 == $z_addr) ==> (L(mem, $x_addr) ==> Gamma_x_old)); + assert bvsge32(memory_load32_le(mem, $z_addr), z_old); + R0, Gamma_R0 := 65536bv64, true; + R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4072bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4072bv64)) || L(mem, bvadd64(R0, 4072bv64))); + R1, Gamma_R1 := zero_extend32_32(memory_load32_le(mem, R0)), (gamma_load32(Gamma_mem, R0) || L(mem, R0)); + R0, Gamma_R0 := 65536bv64, true; + R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4056bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4056bv64)) || L(mem, bvadd64(R0, 4056bv64))); + call rely(); + assert (L(mem, R0) ==> Gamma_R1); + z_old := memory_load32_le(mem, $z_addr); + Gamma_x_old := (gamma_load32(Gamma_mem, $x_addr) || L(mem, $x_addr)); + mem, Gamma_mem := memory_store32_le(mem, R0, R1[32:0]), gamma_store32(Gamma_mem, R0, Gamma_R1); + assert ((R0 == $z_addr) ==> (L(mem, $x_addr) ==> Gamma_x_old)); + assert bvsge32(memory_load32_le(mem, $z_addr), z_old); + R0, Gamma_R0 := 65536bv64, true; + R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4056bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4056bv64)) || L(mem, bvadd64(R0, 4056bv64))); + call rely(); + assert (L(mem, R0) ==> true); + z_old := memory_load32_le(mem, $z_addr); + Gamma_x_old := (gamma_load32(Gamma_mem, $x_addr) || L(mem, $x_addr)); + mem, Gamma_mem := memory_store32_le(mem, R0, 0bv32), gamma_store32(Gamma_mem, R0, true); + assert ((R0 == $z_addr) ==> (L(mem, $x_addr) ==> Gamma_x_old)); + assert bvsge32(memory_load32_le(mem, $z_addr), z_old); + R0, Gamma_R0 := 65536bv64, true; + R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4048bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4048bv64)) || L(mem, bvadd64(R0, 4048bv64))); + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(mem, R0)), (gamma_load32(Gamma_mem, R0) || L(mem, R0)); + R1, Gamma_R1 := zero_extend32_32(bvadd32(R0[32:0], 1bv32)), Gamma_R0; + R0, Gamma_R0 := 65536bv64, true; + R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4048bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4048bv64)) || L(mem, bvadd64(R0, 4048bv64))); + call rely(); + assert (L(mem, R0) ==> Gamma_R1); + z_old := memory_load32_le(mem, $z_addr); + Gamma_x_old := (gamma_load32(Gamma_mem, $x_addr) || L(mem, $x_addr)); + mem, Gamma_mem := memory_store32_le(mem, R0, R1[32:0]), gamma_store32(Gamma_mem, R0, Gamma_R1); + assert ((R0 == $z_addr) ==> (L(mem, $x_addr) ==> Gamma_x_old)); + assert bvsge32(memory_load32_le(mem, $z_addr), z_old); + R0, Gamma_R0 := 0bv64, true; + return; +} From 6623406f77eab0e571aa37f118f9123779552c03 Mon Sep 17 00:00:00 2001 From: l-kent Date: Tue, 17 Oct 2023 11:07:15 +1000 Subject: [PATCH 5/7] add comment --- src/main/scala/ir/Program.scala | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/scala/ir/Program.scala b/src/main/scala/ir/Program.scala index c33c2445d..982fc5f06 100644 --- a/src/main/scala/ir/Program.scala +++ b/src/main/scala/ir/Program.scala @@ -62,6 +62,12 @@ class Program(var procedures: ArrayBuffer[Procedure], var mainProcedure: Procedu } } + /** + * Takes all the memory sections we get from the ADT (previously in initialMemory) and restricts initialMemory to + * just the .data section (which contains things such as global variables which are mutable) and puts the .rodata + * section in readOnlyMemory. It also takes the .rela.dyn entries taken from the readelf output and adds them to the + * .rodata section, as they are the global offset table entries that we can assume are constant. + */ def determineRelevantMemory(rela_dyn: Map[BigInt, BigInt]): Unit = { val initialMemoryNew = ArrayBuffer[MemorySection]() From 26aa3a416b6ae9e357f8711c02fd4061b836e7a4 Mon Sep 17 00:00:00 2001 From: l-kent Date: Tue, 17 Oct 2023 11:46:17 +1000 Subject: [PATCH 6/7] make unresolved indirect calls cause 'assert fail;' again because that went missing in a merge --- src/main/scala/translating/IRToBoogie.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/scala/translating/IRToBoogie.scala b/src/main/scala/translating/IRToBoogie.scala index 09c71b148..d70e829b4 100644 --- a/src/main/scala/translating/IRToBoogie.scala +++ b/src/main/scala/translating/IRToBoogie.scala @@ -294,7 +294,7 @@ class IRToBoogie(var program: Program, var spec: Specification) { val call: List[BCmd] = if (i.target.name == "R30") { List(ReturnCmd) } else { - val unresolved: List[BCmd] = List(Comment(s"UNRESOLVED: call ${i.target.name}"), BAssume(FalseBLiteral)) + val unresolved: List[BCmd] = List(Comment(s"UNRESOLVED: call ${i.target.name}"), BAssert(FalseBLiteral)) i.returnTarget match { case Some(r) => unresolved :+ GoToCmd(r.label) case None => unresolved ++ List(Comment("no return target"), BAssume(FalseBLiteral)) From 2a03103c81a6edbc61d4a2d196f8f64af44804a5 Mon Sep 17 00:00:00 2001 From: l-kent Date: Tue, 17 Oct 2023 12:15:58 +1000 Subject: [PATCH 7/7] update expected --- .../basic_function_call_caller.expected | 6 +- .../basic_function_call_caller.expected | 6 +- .../basicfree/clang/basicfree.expected | 287 +++- .../clang_no_plt_no_pic/basicfree.expected | 287 +++- .../basicfree/clang_pic/basicfree.expected | 287 +++- .../correct/basicfree/gcc/basicfree.expected | 359 +++-- .../gcc_no_plt_no_pic/basicfree.expected | 359 +++-- .../basicfree/gcc_pic/basicfree.expected | 359 +++-- .../function1/clang/function1.expected | 321 ++++- .../function1/clang_O2/function1.expected | 241 +++- .../clang_no_plt_no_pic/function1.expected | 321 ++++- .../function1/clang_pic/function1.expected | 433 +++++- .../correct/function1/gcc/function1.expected | 409 ++++-- .../function1/gcc_O2/function1.expected | 311 ++-- .../gcc_no_plt_no_pic/function1.expected | 409 ++++-- .../function1/gcc_pic/function1.expected | 537 +++++-- .../clang/functionpointer.expected | 297 ---- .../clang_O2/functionpointer.expected | 214 --- .../functionpointer.expected | 297 ---- .../clang_pic/functionpointer.expected | 333 ----- .../gcc/functionpointer.expected | 318 ----- .../gcc_O2/functionpointer.expected | 264 ---- .../functionpointer.expected | 318 ----- .../gcc_pic/functionpointer.expected | 354 ----- .../clang/functions_with_params.expected | 225 ++- .../functions_with_params.expected | 225 ++- .../clang_pic/functions_with_params.expected | 225 ++- .../gcc/functions_with_params.expected | 281 ++-- .../functions_with_params.expected | 281 ++-- .../gcc_pic/functions_with_params.expected | 281 ++-- .../clang/indirect_call.expected | 235 --- .../clang_O2/indirect_call.expected | 393 ++++- .../indirect_call.expected | 235 --- .../clang_pic/indirect_call.expected | 247 ---- .../indirect_call/gcc/indirect_call.expected | 278 ---- .../gcc_O2/indirect_call.expected | 649 +++++++-- .../gcc_no_plt_no_pic/indirect_call.expected | 278 ---- .../gcc_pic/indirect_call.expected | 290 ---- .../jumptable/clang/jumptable.expected | 352 ----- .../clang_no_plt_no_pic/jumptable.expected | 436 ------ .../jumptable/clang_pic/jumptable.expected | 376 ----- .../correct/jumptable/gcc/jumptable.expected | 355 ----- .../jumptable/gcc_pic/jumptable.expected | 363 ----- .../jumptable2/clang/jumptable2.expected | 366 ----- .../jumptable2/clang_O2/jumptable2.expected | 339 ----- .../clang_no_plt_no_pic/jumptable2.expected | 366 ----- .../jumptable2/clang_pic/jumptable2.expected | 413 ------ .../jumptable2/gcc/jumptable2.expected | 347 ----- .../jumptable2/gcc_O2/jumptable2.expected | 337 ----- .../gcc_no_plt_no_pic/jumptable2.expected | 347 ----- .../jumptable2/gcc_pic/jumptable2.expected | 395 ------ .../jumptable3/clang/jumptable3.expected | 306 ---- .../jumptable3/clang_O2/jumptable3.expected | 183 --- .../clang_no_plt_no_pic/jumptable3.expected | 306 ---- .../jumptable3/clang_pic/jumptable3.expected | 314 ---- .../jumptable3/gcc/jumptable3.expected | 433 ++++-- .../jumptable3/gcc_O2/jumptable3.expected | 217 ++- .../gcc_no_plt_no_pic/jumptable3.expected | 433 ++++-- .../jumptable3/gcc_pic/jumptable3.expected | 513 +++++-- .../clang/malloc_with_local.expected | 839 ++++++++++- .../clang_O2/malloc_with_local.expected | 465 +++++- .../malloc_with_local.expected | 839 ++++++++++- .../clang_pic/malloc_with_local.expected | 839 ++++++++++- .../gcc/malloc_with_local.expected | 1007 +++++++++++-- .../gcc_O2/malloc_with_local.expected | 563 ++++++-- .../malloc_with_local.expected | 1007 +++++++++++-- .../gcc_pic/malloc_with_local.expected | 1007 +++++++++++-- .../clang/malloc_with_local2.expected | 839 ++++++++++- .../clang_O2/malloc_with_local2.expected | 465 +++++- .../malloc_with_local2.expected | 839 ++++++++++- .../clang_pic/malloc_with_local2.expected | 839 ++++++++++- .../gcc/malloc_with_local2.expected | 1007 +++++++++++-- .../gcc_O2/malloc_with_local2.expected | 563 ++++++-- .../malloc_with_local2.expected | 1007 +++++++++++-- .../gcc_pic/malloc_with_local2.expected | 1007 +++++++++++-- .../clang/malloc_with_local3.expected | 1091 +++++++++++++- .../clang_O2/malloc_with_local3.expected | 489 ++++++- .../malloc_with_local3.expected | 1091 +++++++++++++- .../clang_pic/malloc_with_local3.expected | 1091 +++++++++++++- .../gcc/malloc_with_local3.expected | 1261 +++++++++++++++-- .../gcc_O2/malloc_with_local3.expected | 1221 ++++++++++++++-- .../malloc_with_local3.expected | 1261 +++++++++++++++-- .../gcc_pic/malloc_with_local3.expected | 1261 +++++++++++++++-- .../multi_malloc/clang/multi_malloc.expected | 623 +++++++- .../clang_O2/multi_malloc.expected | 357 ++++- .../clang_no_plt_no_pic/multi_malloc.expected | 623 +++++++- .../clang_pic/multi_malloc.expected | 623 +++++++- .../multi_malloc/gcc/multi_malloc.expected | 791 +++++++++-- .../multi_malloc/gcc_O2/multi_malloc.expected | 455 ++++-- .../gcc_no_plt_no_pic/multi_malloc.expected | 791 +++++++++-- .../gcc_pic/multi_malloc.expected | 791 +++++++++-- .../correct/switch2/clang/switch2.expected | 273 ---- .../correct/switch2/clang_O2/switch2.expected | 153 +- .../clang_no_plt_no_pic/switch2.expected | 273 ---- .../switch2/clang_pic/switch2.expected | 273 ---- src/test/correct/switch2/gcc/switch2.expected | 281 ++-- .../correct/switch2/gcc_O2/switch2.expected | 209 ++- .../gcc_no_plt_no_pic/switch2.expected | 281 ++-- .../correct/switch2/gcc_pic/switch2.expected | 281 ++-- .../correct/syscall/clang/syscall.expected | 215 ++- .../correct/syscall/clang_O2/syscall.expected | 182 --- .../clang_no_plt_no_pic/syscall.expected | 215 ++- .../syscall/clang_pic/syscall.expected | 215 ++- src/test/correct/syscall/gcc/syscall.expected | 279 ++-- .../correct/syscall/gcc_O2/syscall.expected | 217 ++- .../gcc_no_plt_no_pic/syscall.expected | 279 ++-- .../correct/syscall/gcc_pic/syscall.expected | 279 ++-- 107 files changed, 33025 insertions(+), 16779 deletions(-) delete mode 100644 src/test/correct/functionpointer/clang/functionpointer.expected delete mode 100644 src/test/correct/functionpointer/clang_O2/functionpointer.expected delete mode 100644 src/test/correct/functionpointer/clang_no_plt_no_pic/functionpointer.expected delete mode 100644 src/test/correct/functionpointer/clang_pic/functionpointer.expected delete mode 100644 src/test/correct/functionpointer/gcc/functionpointer.expected delete mode 100644 src/test/correct/functionpointer/gcc_O2/functionpointer.expected delete mode 100644 src/test/correct/functionpointer/gcc_no_plt_no_pic/functionpointer.expected delete mode 100644 src/test/correct/functionpointer/gcc_pic/functionpointer.expected delete mode 100644 src/test/correct/indirect_call/clang/indirect_call.expected delete mode 100644 src/test/correct/indirect_call/clang_no_plt_no_pic/indirect_call.expected delete mode 100644 src/test/correct/indirect_call/clang_pic/indirect_call.expected delete mode 100644 src/test/correct/indirect_call/gcc/indirect_call.expected delete mode 100644 src/test/correct/indirect_call/gcc_no_plt_no_pic/indirect_call.expected delete mode 100644 src/test/correct/indirect_call/gcc_pic/indirect_call.expected delete mode 100644 src/test/correct/jumptable/clang/jumptable.expected delete mode 100644 src/test/correct/jumptable/clang_no_plt_no_pic/jumptable.expected delete mode 100644 src/test/correct/jumptable/clang_pic/jumptable.expected delete mode 100644 src/test/correct/jumptable/gcc/jumptable.expected delete mode 100644 src/test/correct/jumptable/gcc_pic/jumptable.expected delete mode 100644 src/test/correct/jumptable2/clang/jumptable2.expected delete mode 100644 src/test/correct/jumptable2/clang_O2/jumptable2.expected delete mode 100644 src/test/correct/jumptable2/clang_no_plt_no_pic/jumptable2.expected delete mode 100644 src/test/correct/jumptable2/clang_pic/jumptable2.expected delete mode 100644 src/test/correct/jumptable2/gcc/jumptable2.expected delete mode 100644 src/test/correct/jumptable2/gcc_O2/jumptable2.expected delete mode 100644 src/test/correct/jumptable2/gcc_no_plt_no_pic/jumptable2.expected delete mode 100644 src/test/correct/jumptable2/gcc_pic/jumptable2.expected delete mode 100644 src/test/correct/jumptable3/clang/jumptable3.expected delete mode 100644 src/test/correct/jumptable3/clang_O2/jumptable3.expected delete mode 100644 src/test/correct/jumptable3/clang_no_plt_no_pic/jumptable3.expected delete mode 100644 src/test/correct/jumptable3/clang_pic/jumptable3.expected delete mode 100644 src/test/correct/switch2/clang/switch2.expected delete mode 100644 src/test/correct/switch2/clang_no_plt_no_pic/switch2.expected delete mode 100644 src/test/correct/switch2/clang_pic/switch2.expected delete mode 100644 src/test/correct/syscall/clang_O2/syscall.expected diff --git a/src/test/correct/basic_function_call_caller/clang_pic/basic_function_call_caller.expected b/src/test/correct/basic_function_call_caller/clang_pic/basic_function_call_caller.expected index 3a4e3c9e7..38c290152 100644 --- a/src/test/correct/basic_function_call_caller/clang_pic/basic_function_call_caller.expected +++ b/src/test/correct/basic_function_call_caller/clang_pic/basic_function_call_caller.expected @@ -295,7 +295,7 @@ procedure main() assert ((R8 == $x_addr) ==> (L(mem, $y_addr) ==> Gamma_y_old)); assert ((x_old == 0bv32) ==> (memory_load32_le(mem, $x_addr) == 0bv32)); assert (Gamma_y_old ==> ((memory_load32_le(mem, $x_addr) == 0bv32) || gamma_load32(Gamma_mem, $y_addr))); - R8, Gamma_R8 := zero_extend32_32(memory_load32_le(mem, bvadd64(R29, 18446744073709551612bv64))), (gamma_load32(Gamma_mem, bvadd64(R29, 18446744073709551612bv64)) || L(mem, bvadd64(R29, 18446744073709551612bv64))); + R8, Gamma_R8 := zero_extend32_32(memory_load32_le(stack, bvadd64(R29, 18446744073709551612bv64))), gamma_load32(Gamma_stack, bvadd64(R29, 18446744073709551612bv64)); R9, Gamma_R9 := 65536bv64, true; R9, Gamma_R9 := memory_load64_le(mem, bvadd64(R9, 4048bv64)), (gamma_load64(Gamma_mem, bvadd64(R9, 4048bv64)) || L(mem, bvadd64(R9, 4048bv64))); call rely(); @@ -308,8 +308,8 @@ procedure main() assert (Gamma_y_old ==> ((memory_load32_le(mem, $x_addr) == 0bv32) || gamma_load32(Gamma_mem, $y_addr))); R0, Gamma_R0 := 0bv64, true; #5, Gamma_#5 := bvadd64(R31, 16bv64), Gamma_R31; - R29, Gamma_R29 := memory_load64_le(mem, #5), (gamma_load64(Gamma_mem, #5) || L(mem, #5)); - R30, Gamma_R30 := memory_load64_le(mem, bvadd64(#5, 8bv64)), (gamma_load64(Gamma_mem, bvadd64(#5, 8bv64)) || L(mem, bvadd64(#5, 8bv64))); + R29, Gamma_R29 := memory_load64_le(stack, #5), gamma_load64(Gamma_stack, #5); + R30, Gamma_R30 := memory_load64_le(stack, bvadd64(#5, 8bv64)), gamma_load64(Gamma_stack, bvadd64(#5, 8bv64)); R31, Gamma_R31 := bvadd64(R31, 32bv64), Gamma_R31; return; } diff --git a/src/test/correct/basic_function_call_caller/gcc_pic/basic_function_call_caller.expected b/src/test/correct/basic_function_call_caller/gcc_pic/basic_function_call_caller.expected index f88d56db3..79abd93a6 100644 --- a/src/test/correct/basic_function_call_caller/gcc_pic/basic_function_call_caller.expected +++ b/src/test/correct/basic_function_call_caller/gcc_pic/basic_function_call_caller.expected @@ -294,7 +294,7 @@ procedure main() assert (Gamma_y_old ==> ((memory_load32_le(mem, $x_addr) == 0bv32) || gamma_load32(Gamma_mem, $y_addr))); R0, Gamma_R0 := 65536bv64, true; R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4072bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4072bv64)) || L(mem, bvadd64(R0, 4072bv64))); - R1, Gamma_R1 := zero_extend32_32(memory_load32_le(mem, bvadd64(R31, 28bv64))), (gamma_load32(Gamma_mem, bvadd64(R31, 28bv64)) || L(mem, bvadd64(R31, 28bv64))); + R1, Gamma_R1 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); call rely(); assert (L(mem, R0) ==> Gamma_R1); x_old := memory_load32_le(mem, $x_addr); @@ -304,8 +304,8 @@ procedure main() assert ((x_old == 0bv32) ==> (memory_load32_le(mem, $x_addr) == 0bv32)); assert (Gamma_y_old ==> ((memory_load32_le(mem, $x_addr) == 0bv32) || gamma_load32(Gamma_mem, $y_addr))); R0, Gamma_R0 := 0bv64, true; - R29, Gamma_R29 := memory_load64_le(mem, R31), (gamma_load64(Gamma_mem, R31) || L(mem, R31)); - R30, Gamma_R30 := memory_load64_le(mem, bvadd64(R31, 8bv64)), (gamma_load64(Gamma_mem, bvadd64(R31, 8bv64)) || L(mem, bvadd64(R31, 8bv64))); + R29, Gamma_R29 := memory_load64_le(stack, R31), gamma_load64(Gamma_stack, R31); + R30, Gamma_R30 := memory_load64_le(stack, bvadd64(R31, 8bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 8bv64)); R31, Gamma_R31 := bvadd64(R31, 32bv64), Gamma_R31; return; } diff --git a/src/test/correct/basicfree/clang/basicfree.expected b/src/test/correct/basicfree/clang/basicfree.expected index 89c314680..5acedccc7 100644 --- a/src/test/correct/basicfree/clang/basicfree.expected +++ b/src/test/correct/basicfree/clang/basicfree.expected @@ -55,9 +55,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2080bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2081bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2082bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2083bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69688bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69689bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69690bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69691bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69692bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69693bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69694bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69695bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -75,45 +110,26 @@ procedure guarantee_reflexive(); procedure #free(); modifies Gamma_R16, Gamma_R17, R16, R17; - -procedure main() - modifies Gamma_R0, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R16, R17, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 2080bv64) == 1bv8); free requires (memory_load8_le(mem, 2081bv64) == 0bv8); free requires (memory_load8_le(mem, 2082bv64) == 2bv8); free requires (memory_load8_le(mem, 2083bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 208bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 128bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 212bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -122,14 +138,53 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69688bv64) == 56bv8); + free requires (memory_load8_le(mem, 69689bv64) == 16bv8); + free requires (memory_load8_le(mem, 69690bv64) == 1bv8); + free requires (memory_load8_le(mem, 69691bv64) == 0bv8); + free requires (memory_load8_le(mem, 69692bv64) == 0bv8); + free requires (memory_load8_le(mem, 69693bv64) == 0bv8); + free requires (memory_load8_le(mem, 69694bv64) == 0bv8); + free requires (memory_load8_le(mem, 69695bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2080bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2081bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2082bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2083bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69688bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69689bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69690bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69691bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69692bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69693bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69694bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69695bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R16, R17, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 69680bv64) == 0bv8); free requires (memory_load8_le(mem, 69681bv64) == 0bv8); free requires (memory_load8_le(mem, 69682bv64) == 0bv8); @@ -146,10 +201,82 @@ procedure main() free requires (memory_load8_le(mem, 69693bv64) == 0bv8); free requires (memory_load8_le(mem, 69694bv64) == 0bv8); free requires (memory_load8_le(mem, 69695bv64) == 0bv8); + free requires (memory_load8_le(mem, 2080bv64) == 1bv8); + free requires (memory_load8_le(mem, 2081bv64) == 0bv8); + free requires (memory_load8_le(mem, 2082bv64) == 2bv8); + free requires (memory_load8_le(mem, 2083bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 208bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 128bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 212bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69688bv64) == 56bv8); + free requires (memory_load8_le(mem, 69689bv64) == 16bv8); + free requires (memory_load8_le(mem, 69690bv64) == 1bv8); + free requires (memory_load8_le(mem, 69691bv64) == 0bv8); + free requires (memory_load8_le(mem, 69692bv64) == 0bv8); + free requires (memory_load8_le(mem, 69693bv64) == 0bv8); + free requires (memory_load8_le(mem, 69694bv64) == 0bv8); + free requires (memory_load8_le(mem, 69695bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2080bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2081bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2082bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2083bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69688bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69689bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69690bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69691bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69692bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69693bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69694bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69695bv64) == 0bv8); { var #4: bv64; var #5: bv64; @@ -186,3 +313,75 @@ procedure main() procedure malloc(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2080bv64) == 1bv8); + free requires (memory_load8_le(mem, 2081bv64) == 0bv8); + free requires (memory_load8_le(mem, 2082bv64) == 2bv8); + free requires (memory_load8_le(mem, 2083bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 208bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 128bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 212bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69688bv64) == 56bv8); + free requires (memory_load8_le(mem, 69689bv64) == 16bv8); + free requires (memory_load8_le(mem, 69690bv64) == 1bv8); + free requires (memory_load8_le(mem, 69691bv64) == 0bv8); + free requires (memory_load8_le(mem, 69692bv64) == 0bv8); + free requires (memory_load8_le(mem, 69693bv64) == 0bv8); + free requires (memory_load8_le(mem, 69694bv64) == 0bv8); + free requires (memory_load8_le(mem, 69695bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2080bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2081bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2082bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2083bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69688bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69689bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69690bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69691bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69692bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69693bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69694bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69695bv64) == 0bv8); diff --git a/src/test/correct/basicfree/clang_no_plt_no_pic/basicfree.expected b/src/test/correct/basicfree/clang_no_plt_no_pic/basicfree.expected index 617fb7185..e8fa73579 100644 --- a/src/test/correct/basicfree/clang_no_plt_no_pic/basicfree.expected +++ b/src/test/correct/basicfree/clang_no_plt_no_pic/basicfree.expected @@ -55,9 +55,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2080bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2081bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2082bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2083bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69688bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69689bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69690bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69691bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69692bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69693bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69694bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69695bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -75,45 +110,26 @@ procedure guarantee_reflexive(); procedure #free(); modifies Gamma_R16, Gamma_R17, R16, R17; - -procedure main() - modifies Gamma_R0, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R16, R17, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 2080bv64) == 1bv8); free requires (memory_load8_le(mem, 2081bv64) == 0bv8); free requires (memory_load8_le(mem, 2082bv64) == 2bv8); free requires (memory_load8_le(mem, 2083bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 208bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 128bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 212bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -122,14 +138,53 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69688bv64) == 56bv8); + free requires (memory_load8_le(mem, 69689bv64) == 16bv8); + free requires (memory_load8_le(mem, 69690bv64) == 1bv8); + free requires (memory_load8_le(mem, 69691bv64) == 0bv8); + free requires (memory_load8_le(mem, 69692bv64) == 0bv8); + free requires (memory_load8_le(mem, 69693bv64) == 0bv8); + free requires (memory_load8_le(mem, 69694bv64) == 0bv8); + free requires (memory_load8_le(mem, 69695bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2080bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2081bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2082bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2083bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69688bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69689bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69690bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69691bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69692bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69693bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69694bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69695bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R16, R17, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 69680bv64) == 0bv8); free requires (memory_load8_le(mem, 69681bv64) == 0bv8); free requires (memory_load8_le(mem, 69682bv64) == 0bv8); @@ -146,10 +201,82 @@ procedure main() free requires (memory_load8_le(mem, 69693bv64) == 0bv8); free requires (memory_load8_le(mem, 69694bv64) == 0bv8); free requires (memory_load8_le(mem, 69695bv64) == 0bv8); + free requires (memory_load8_le(mem, 2080bv64) == 1bv8); + free requires (memory_load8_le(mem, 2081bv64) == 0bv8); + free requires (memory_load8_le(mem, 2082bv64) == 2bv8); + free requires (memory_load8_le(mem, 2083bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 208bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 128bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 212bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69688bv64) == 56bv8); + free requires (memory_load8_le(mem, 69689bv64) == 16bv8); + free requires (memory_load8_le(mem, 69690bv64) == 1bv8); + free requires (memory_load8_le(mem, 69691bv64) == 0bv8); + free requires (memory_load8_le(mem, 69692bv64) == 0bv8); + free requires (memory_load8_le(mem, 69693bv64) == 0bv8); + free requires (memory_load8_le(mem, 69694bv64) == 0bv8); + free requires (memory_load8_le(mem, 69695bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2080bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2081bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2082bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2083bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69688bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69689bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69690bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69691bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69692bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69693bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69694bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69695bv64) == 0bv8); { var #4: bv64; var #5: bv64; @@ -186,3 +313,75 @@ procedure main() procedure malloc(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2080bv64) == 1bv8); + free requires (memory_load8_le(mem, 2081bv64) == 0bv8); + free requires (memory_load8_le(mem, 2082bv64) == 2bv8); + free requires (memory_load8_le(mem, 2083bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 208bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 128bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 212bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69688bv64) == 56bv8); + free requires (memory_load8_le(mem, 69689bv64) == 16bv8); + free requires (memory_load8_le(mem, 69690bv64) == 1bv8); + free requires (memory_load8_le(mem, 69691bv64) == 0bv8); + free requires (memory_load8_le(mem, 69692bv64) == 0bv8); + free requires (memory_load8_le(mem, 69693bv64) == 0bv8); + free requires (memory_load8_le(mem, 69694bv64) == 0bv8); + free requires (memory_load8_le(mem, 69695bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2080bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2081bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2082bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2083bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69688bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69689bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69690bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69691bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69692bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69693bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69694bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69695bv64) == 0bv8); diff --git a/src/test/correct/basicfree/clang_pic/basicfree.expected b/src/test/correct/basicfree/clang_pic/basicfree.expected index 617fb7185..e8fa73579 100644 --- a/src/test/correct/basicfree/clang_pic/basicfree.expected +++ b/src/test/correct/basicfree/clang_pic/basicfree.expected @@ -55,9 +55,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2080bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2081bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2082bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2083bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69688bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69689bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69690bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69691bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69692bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69693bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69694bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69695bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -75,45 +110,26 @@ procedure guarantee_reflexive(); procedure #free(); modifies Gamma_R16, Gamma_R17, R16, R17; - -procedure main() - modifies Gamma_R0, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R16, R17, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 2080bv64) == 1bv8); free requires (memory_load8_le(mem, 2081bv64) == 0bv8); free requires (memory_load8_le(mem, 2082bv64) == 2bv8); free requires (memory_load8_le(mem, 2083bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 208bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 128bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 212bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -122,14 +138,53 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69688bv64) == 56bv8); + free requires (memory_load8_le(mem, 69689bv64) == 16bv8); + free requires (memory_load8_le(mem, 69690bv64) == 1bv8); + free requires (memory_load8_le(mem, 69691bv64) == 0bv8); + free requires (memory_load8_le(mem, 69692bv64) == 0bv8); + free requires (memory_load8_le(mem, 69693bv64) == 0bv8); + free requires (memory_load8_le(mem, 69694bv64) == 0bv8); + free requires (memory_load8_le(mem, 69695bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2080bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2081bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2082bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2083bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69688bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69689bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69690bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69691bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69692bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69693bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69694bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69695bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R16, R17, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 69680bv64) == 0bv8); free requires (memory_load8_le(mem, 69681bv64) == 0bv8); free requires (memory_load8_le(mem, 69682bv64) == 0bv8); @@ -146,10 +201,82 @@ procedure main() free requires (memory_load8_le(mem, 69693bv64) == 0bv8); free requires (memory_load8_le(mem, 69694bv64) == 0bv8); free requires (memory_load8_le(mem, 69695bv64) == 0bv8); + free requires (memory_load8_le(mem, 2080bv64) == 1bv8); + free requires (memory_load8_le(mem, 2081bv64) == 0bv8); + free requires (memory_load8_le(mem, 2082bv64) == 2bv8); + free requires (memory_load8_le(mem, 2083bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 208bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 128bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 212bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69688bv64) == 56bv8); + free requires (memory_load8_le(mem, 69689bv64) == 16bv8); + free requires (memory_load8_le(mem, 69690bv64) == 1bv8); + free requires (memory_load8_le(mem, 69691bv64) == 0bv8); + free requires (memory_load8_le(mem, 69692bv64) == 0bv8); + free requires (memory_load8_le(mem, 69693bv64) == 0bv8); + free requires (memory_load8_le(mem, 69694bv64) == 0bv8); + free requires (memory_load8_le(mem, 69695bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2080bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2081bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2082bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2083bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69688bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69689bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69690bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69691bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69692bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69693bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69694bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69695bv64) == 0bv8); { var #4: bv64; var #5: bv64; @@ -186,3 +313,75 @@ procedure main() procedure malloc(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2080bv64) == 1bv8); + free requires (memory_load8_le(mem, 2081bv64) == 0bv8); + free requires (memory_load8_le(mem, 2082bv64) == 2bv8); + free requires (memory_load8_le(mem, 2083bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 208bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 128bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 212bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69688bv64) == 56bv8); + free requires (memory_load8_le(mem, 69689bv64) == 16bv8); + free requires (memory_load8_le(mem, 69690bv64) == 1bv8); + free requires (memory_load8_le(mem, 69691bv64) == 0bv8); + free requires (memory_load8_le(mem, 69692bv64) == 0bv8); + free requires (memory_load8_le(mem, 69693bv64) == 0bv8); + free requires (memory_load8_le(mem, 69694bv64) == 0bv8); + free requires (memory_load8_le(mem, 69695bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2080bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2081bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2082bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2083bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69688bv64) == 56bv8); + free ensures (memory_load8_le(mem, 69689bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69690bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69691bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69692bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69693bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69694bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69695bv64) == 0bv8); diff --git a/src/test/correct/basicfree/gcc/basicfree.expected b/src/test/correct/basicfree/gcc/basicfree.expected index 3b441de64..e51cef728 100644 --- a/src/test/correct/basicfree/gcc/basicfree.expected +++ b/src/test/correct/basicfree/gcc/basicfree.expected @@ -53,9 +53,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2076bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2078bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -73,117 +108,26 @@ procedure guarantee_reflexive(); procedure #free(); modifies Gamma_R16, Gamma_R17, R16, R17; - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 2076bv64) == 1bv8); free requires (memory_load8_le(mem, 2077bv64) == 0bv8); free requires (memory_load8_le(mem, 2078bv64) == 2bv8); free requires (memory_load8_le(mem, 2079bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 16bv8); - free requires (memory_load8_le(mem, 69537bv64) == 6bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 16bv8); - free requires (memory_load8_le(mem, 69545bv64) == 6bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 16bv8); - free requires (memory_load8_le(mem, 69553bv64) == 6bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 16bv8); - free requires (memory_load8_le(mem, 69561bv64) == 6bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 16bv8); - free requires (memory_load8_le(mem, 69569bv64) == 6bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 16bv8); - free requires (memory_load8_le(mem, 69577bv64) == 6bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 152bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 208bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 128bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 212bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -192,14 +136,53 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2076bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2078bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -216,10 +199,82 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 2076bv64) == 1bv8); + free requires (memory_load8_le(mem, 2077bv64) == 0bv8); + free requires (memory_load8_le(mem, 2078bv64) == 2bv8); + free requires (memory_load8_le(mem, 2079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 208bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 128bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 212bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2076bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2078bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -253,3 +308,75 @@ procedure main() procedure malloc(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2076bv64) == 1bv8); + free requires (memory_load8_le(mem, 2077bv64) == 0bv8); + free requires (memory_load8_le(mem, 2078bv64) == 2bv8); + free requires (memory_load8_le(mem, 2079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 208bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 128bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 212bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2076bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2078bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); diff --git a/src/test/correct/basicfree/gcc_no_plt_no_pic/basicfree.expected b/src/test/correct/basicfree/gcc_no_plt_no_pic/basicfree.expected index cb9aad643..053438760 100644 --- a/src/test/correct/basicfree/gcc_no_plt_no_pic/basicfree.expected +++ b/src/test/correct/basicfree/gcc_no_plt_no_pic/basicfree.expected @@ -53,9 +53,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2076bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2078bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -73,117 +108,26 @@ procedure guarantee_reflexive(); procedure #free(); modifies Gamma_R16, Gamma_R17, R16, R17; - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 2076bv64) == 1bv8); free requires (memory_load8_le(mem, 2077bv64) == 0bv8); free requires (memory_load8_le(mem, 2078bv64) == 2bv8); free requires (memory_load8_le(mem, 2079bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 16bv8); - free requires (memory_load8_le(mem, 69537bv64) == 6bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 16bv8); - free requires (memory_load8_le(mem, 69545bv64) == 6bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 16bv8); - free requires (memory_load8_le(mem, 69553bv64) == 6bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 16bv8); - free requires (memory_load8_le(mem, 69561bv64) == 6bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 16bv8); - free requires (memory_load8_le(mem, 69569bv64) == 6bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 16bv8); - free requires (memory_load8_le(mem, 69577bv64) == 6bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 152bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 208bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 128bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 212bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -192,14 +136,53 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2076bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2078bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -216,10 +199,82 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 2076bv64) == 1bv8); + free requires (memory_load8_le(mem, 2077bv64) == 0bv8); + free requires (memory_load8_le(mem, 2078bv64) == 2bv8); + free requires (memory_load8_le(mem, 2079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 208bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 128bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 212bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2076bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2078bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -253,3 +308,75 @@ procedure main() procedure malloc(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2076bv64) == 1bv8); + free requires (memory_load8_le(mem, 2077bv64) == 0bv8); + free requires (memory_load8_le(mem, 2078bv64) == 2bv8); + free requires (memory_load8_le(mem, 2079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 208bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 128bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 212bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2076bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2078bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); diff --git a/src/test/correct/basicfree/gcc_pic/basicfree.expected b/src/test/correct/basicfree/gcc_pic/basicfree.expected index cb9aad643..053438760 100644 --- a/src/test/correct/basicfree/gcc_pic/basicfree.expected +++ b/src/test/correct/basicfree/gcc_pic/basicfree.expected @@ -53,9 +53,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2076bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2078bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -73,117 +108,26 @@ procedure guarantee_reflexive(); procedure #free(); modifies Gamma_R16, Gamma_R17, R16, R17; - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 2076bv64) == 1bv8); free requires (memory_load8_le(mem, 2077bv64) == 0bv8); free requires (memory_load8_le(mem, 2078bv64) == 2bv8); free requires (memory_load8_le(mem, 2079bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 16bv8); - free requires (memory_load8_le(mem, 69537bv64) == 6bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 16bv8); - free requires (memory_load8_le(mem, 69545bv64) == 6bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 16bv8); - free requires (memory_load8_le(mem, 69553bv64) == 6bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 16bv8); - free requires (memory_load8_le(mem, 69561bv64) == 6bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 16bv8); - free requires (memory_load8_le(mem, 69569bv64) == 6bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 16bv8); - free requires (memory_load8_le(mem, 69577bv64) == 6bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 152bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 208bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 128bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 212bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -192,14 +136,53 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2076bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2078bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -216,10 +199,82 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 2076bv64) == 1bv8); + free requires (memory_load8_le(mem, 2077bv64) == 0bv8); + free requires (memory_load8_le(mem, 2078bv64) == 2bv8); + free requires (memory_load8_le(mem, 2079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 208bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 128bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 212bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2076bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2078bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -253,3 +308,75 @@ procedure main() procedure malloc(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2076bv64) == 1bv8); + free requires (memory_load8_le(mem, 2077bv64) == 0bv8); + free requires (memory_load8_le(mem, 2078bv64) == 2bv8); + free requires (memory_load8_le(mem, 2079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 208bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 128bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 212bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2076bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2078bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 212bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); diff --git a/src/test/correct/function1/clang/function1.expected b/src/test/correct/function1/clang/function1.expected index bf51edd95..a2652202b 100644 --- a/src/test/correct/function1/clang/function1.expected +++ b/src/test/correct/function1/clang/function1.expected @@ -87,9 +87,48 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2024bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 132bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -107,8 +146,88 @@ procedure guarantee_reflexive(); procedure get_two() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_stack, R0, R31, R8, R9, stack; + free requires (memory_load8_le(mem, 2024bv64) == 1bv8); + free requires (memory_load8_le(mem, 2025bv64) == 0bv8); + free requires (memory_load8_le(mem, 2026bv64) == 2bv8); + free requires (memory_load8_le(mem, 2027bv64) == 0bv8); + free requires (memory_load8_le(mem, 2028bv64) == 37bv8); + free requires (memory_load8_le(mem, 2029bv64) == 100bv8); + free requires (memory_load8_le(mem, 2030bv64) == 10bv8); + free requires (memory_load8_le(mem, 2031bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 132bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2024bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 132bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); { lget_two: R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; @@ -127,6 +246,22 @@ procedure get_two() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R2, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R2, R29, R30, R31, R8, R9, mem, stack; + free requires (memory_load8_le(mem, 69672bv64) == 0bv8); + free requires (memory_load8_le(mem, 69673bv64) == 0bv8); + free requires (memory_load8_le(mem, 69674bv64) == 0bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); free requires (memory_load8_le(mem, 2024bv64) == 1bv8); free requires (memory_load8_le(mem, 2025bv64) == 0bv8); free requires (memory_load8_le(mem, 2026bv64) == 2bv8); @@ -135,38 +270,22 @@ procedure main() free requires (memory_load8_le(mem, 2029bv64) == 100bv8); free requires (memory_load8_le(mem, 2030bv64) == 10bv8); free requires (memory_load8_le(mem, 2031bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 132bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -175,22 +294,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 0bv8); - free requires (memory_load8_le(mem, 69673bv64) == 0bv8); - free requires (memory_load8_le(mem, 69674bv64) == 0bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 69680bv64) == 48bv8); free requires (memory_load8_le(mem, 69681bv64) == 16bv8); free requires (memory_load8_le(mem, 69682bv64) == 1bv8); @@ -203,6 +306,46 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2024bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 132bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -246,3 +389,83 @@ procedure main() procedure printf(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2024bv64) == 1bv8); + free requires (memory_load8_le(mem, 2025bv64) == 0bv8); + free requires (memory_load8_le(mem, 2026bv64) == 2bv8); + free requires (memory_load8_le(mem, 2027bv64) == 0bv8); + free requires (memory_load8_le(mem, 2028bv64) == 37bv8); + free requires (memory_load8_le(mem, 2029bv64) == 100bv8); + free requires (memory_load8_le(mem, 2030bv64) == 10bv8); + free requires (memory_load8_le(mem, 2031bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 132bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2024bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 132bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); diff --git a/src/test/correct/function1/clang_O2/function1.expected b/src/test/correct/function1/clang_O2/function1.expected index d99cfb6ee..2f91bcb67 100644 --- a/src/test/correct/function1/clang_O2/function1.expected +++ b/src/test/correct/function1/clang_O2/function1.expected @@ -66,9 +66,48 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1976bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1977bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1978bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1979bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1980bv64) == 37bv8); + free ensures (memory_load8_le(mem, 1981bv64) == 100bv8); + free ensures (memory_load8_le(mem, 1982bv64) == 10bv8); + free ensures (memory_load8_le(mem, 1983bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 96bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -86,6 +125,22 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R10, Gamma_R11, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R10, R11, R16, R17, R29, R30, R31, R8, R9, mem, stack; + free requires (memory_load8_le(mem, 69672bv64) == 0bv8); + free requires (memory_load8_le(mem, 69673bv64) == 0bv8); + free requires (memory_load8_le(mem, 69674bv64) == 0bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); free requires (memory_load8_le(mem, 1976bv64) == 1bv8); free requires (memory_load8_le(mem, 1977bv64) == 0bv8); free requires (memory_load8_le(mem, 1978bv64) == 2bv8); @@ -94,38 +149,22 @@ procedure main() free requires (memory_load8_le(mem, 1981bv64) == 100bv8); free requires (memory_load8_le(mem, 1982bv64) == 10bv8); free requires (memory_load8_le(mem, 1983bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 96bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -134,22 +173,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 0bv8); - free requires (memory_load8_le(mem, 69673bv64) == 0bv8); - free requires (memory_load8_le(mem, 69674bv64) == 0bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 69680bv64) == 48bv8); free requires (memory_load8_le(mem, 69681bv64) == 16bv8); free requires (memory_load8_le(mem, 69682bv64) == 1bv8); @@ -162,6 +185,46 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1976bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1977bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1978bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1979bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1980bv64) == 37bv8); + free ensures (memory_load8_le(mem, 1981bv64) == 100bv8); + free ensures (memory_load8_le(mem, 1982bv64) == 10bv8); + free ensures (memory_load8_le(mem, 1983bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 96bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -199,3 +262,83 @@ procedure main() procedure printf(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 1976bv64) == 1bv8); + free requires (memory_load8_le(mem, 1977bv64) == 0bv8); + free requires (memory_load8_le(mem, 1978bv64) == 2bv8); + free requires (memory_load8_le(mem, 1979bv64) == 0bv8); + free requires (memory_load8_le(mem, 1980bv64) == 37bv8); + free requires (memory_load8_le(mem, 1981bv64) == 100bv8); + free requires (memory_load8_le(mem, 1982bv64) == 10bv8); + free requires (memory_load8_le(mem, 1983bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 96bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1976bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1977bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1978bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1979bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1980bv64) == 37bv8); + free ensures (memory_load8_le(mem, 1981bv64) == 100bv8); + free ensures (memory_load8_le(mem, 1982bv64) == 10bv8); + free ensures (memory_load8_le(mem, 1983bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 96bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); diff --git a/src/test/correct/function1/clang_no_plt_no_pic/function1.expected b/src/test/correct/function1/clang_no_plt_no_pic/function1.expected index b42878682..12f6a4a98 100644 --- a/src/test/correct/function1/clang_no_plt_no_pic/function1.expected +++ b/src/test/correct/function1/clang_no_plt_no_pic/function1.expected @@ -87,9 +87,48 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2024bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 132bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -107,8 +146,88 @@ procedure guarantee_reflexive(); procedure get_two() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_stack, R0, R31, R8, R9, stack; + free requires (memory_load8_le(mem, 2024bv64) == 1bv8); + free requires (memory_load8_le(mem, 2025bv64) == 0bv8); + free requires (memory_load8_le(mem, 2026bv64) == 2bv8); + free requires (memory_load8_le(mem, 2027bv64) == 0bv8); + free requires (memory_load8_le(mem, 2028bv64) == 37bv8); + free requires (memory_load8_le(mem, 2029bv64) == 100bv8); + free requires (memory_load8_le(mem, 2030bv64) == 10bv8); + free requires (memory_load8_le(mem, 2031bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 132bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2024bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 132bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); { lget_two: R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; @@ -127,6 +246,22 @@ procedure get_two() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R2, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R2, R29, R30, R31, R8, R9, mem, stack; + free requires (memory_load8_le(mem, 69672bv64) == 0bv8); + free requires (memory_load8_le(mem, 69673bv64) == 0bv8); + free requires (memory_load8_le(mem, 69674bv64) == 0bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); free requires (memory_load8_le(mem, 2024bv64) == 1bv8); free requires (memory_load8_le(mem, 2025bv64) == 0bv8); free requires (memory_load8_le(mem, 2026bv64) == 2bv8); @@ -135,38 +270,22 @@ procedure main() free requires (memory_load8_le(mem, 2029bv64) == 100bv8); free requires (memory_load8_le(mem, 2030bv64) == 10bv8); free requires (memory_load8_le(mem, 2031bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 132bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -175,22 +294,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 0bv8); - free requires (memory_load8_le(mem, 69673bv64) == 0bv8); - free requires (memory_load8_le(mem, 69674bv64) == 0bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 69680bv64) == 48bv8); free requires (memory_load8_le(mem, 69681bv64) == 16bv8); free requires (memory_load8_le(mem, 69682bv64) == 1bv8); @@ -203,6 +306,46 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2024bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 132bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -246,3 +389,83 @@ procedure main() procedure printf(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2024bv64) == 1bv8); + free requires (memory_load8_le(mem, 2025bv64) == 0bv8); + free requires (memory_load8_le(mem, 2026bv64) == 2bv8); + free requires (memory_load8_le(mem, 2027bv64) == 0bv8); + free requires (memory_load8_le(mem, 2028bv64) == 37bv8); + free requires (memory_load8_le(mem, 2029bv64) == 100bv8); + free requires (memory_load8_le(mem, 2030bv64) == 10bv8); + free requires (memory_load8_le(mem, 2031bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 132bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2024bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 132bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); diff --git a/src/test/correct/function1/clang_pic/function1.expected b/src/test/correct/function1/clang_pic/function1.expected index 7fa9fba13..4626a0185 100644 --- a/src/test/correct/function1/clang_pic/function1.expected +++ b/src/test/correct/function1/clang_pic/function1.expected @@ -87,9 +87,64 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2096bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2097bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2098bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2099bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2100bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2101bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2102bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2103bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 144bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69568bv64) == 60bv8); + free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 196bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69584bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69585bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69586bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -107,8 +162,120 @@ procedure guarantee_reflexive(); procedure get_two() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_stack, R0, R31, R8, R9, stack; + free requires (memory_load8_le(mem, 2096bv64) == 1bv8); + free requires (memory_load8_le(mem, 2097bv64) == 0bv8); + free requires (memory_load8_le(mem, 2098bv64) == 2bv8); + free requires (memory_load8_le(mem, 2099bv64) == 0bv8); + free requires (memory_load8_le(mem, 2100bv64) == 37bv8); + free requires (memory_load8_le(mem, 2101bv64) == 100bv8); + free requires (memory_load8_le(mem, 2102bv64) == 10bv8); + free requires (memory_load8_le(mem, 2103bv64) == 0bv8); + free requires (memory_load8_le(mem, 69048bv64) == 144bv8); + free requires (memory_load8_le(mem, 69049bv64) == 7bv8); + free requires (memory_load8_le(mem, 69050bv64) == 0bv8); + free requires (memory_load8_le(mem, 69051bv64) == 0bv8); + free requires (memory_load8_le(mem, 69052bv64) == 0bv8); + free requires (memory_load8_le(mem, 69053bv64) == 0bv8); + free requires (memory_load8_le(mem, 69054bv64) == 0bv8); + free requires (memory_load8_le(mem, 69055bv64) == 0bv8); + free requires (memory_load8_le(mem, 69568bv64) == 60bv8); + free requires (memory_load8_le(mem, 69569bv64) == 16bv8); + free requires (memory_load8_le(mem, 69570bv64) == 1bv8); + free requires (memory_load8_le(mem, 69571bv64) == 0bv8); + free requires (memory_load8_le(mem, 69572bv64) == 0bv8); + free requires (memory_load8_le(mem, 69573bv64) == 0bv8); + free requires (memory_load8_le(mem, 69574bv64) == 0bv8); + free requires (memory_load8_le(mem, 69575bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 196bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69056bv64) == 64bv8); + free requires (memory_load8_le(mem, 69057bv64) == 7bv8); + free requires (memory_load8_le(mem, 69058bv64) == 0bv8); + free requires (memory_load8_le(mem, 69059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69060bv64) == 0bv8); + free requires (memory_load8_le(mem, 69061bv64) == 0bv8); + free requires (memory_load8_le(mem, 69062bv64) == 0bv8); + free requires (memory_load8_le(mem, 69063bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); + free requires (memory_load8_le(mem, 69584bv64) == 64bv8); + free requires (memory_load8_le(mem, 69585bv64) == 16bv8); + free requires (memory_load8_le(mem, 69586bv64) == 1bv8); + free requires (memory_load8_le(mem, 69587bv64) == 0bv8); + free requires (memory_load8_le(mem, 69588bv64) == 0bv8); + free requires (memory_load8_le(mem, 69589bv64) == 0bv8); + free requires (memory_load8_le(mem, 69590bv64) == 0bv8); + free requires (memory_load8_le(mem, 69591bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2096bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2097bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2098bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2099bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2100bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2101bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2102bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2103bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 144bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69568bv64) == 60bv8); + free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 196bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69584bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69585bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69586bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); { lget_two: R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; @@ -127,6 +294,22 @@ procedure get_two() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R2, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R2, R29, R30, R31, R8, R9, mem, stack; + free requires (memory_load8_le(mem, 69672bv64) == 0bv8); + free requires (memory_load8_le(mem, 69673bv64) == 0bv8); + free requires (memory_load8_le(mem, 69674bv64) == 0bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); free requires (memory_load8_le(mem, 2096bv64) == 1bv8); free requires (memory_load8_le(mem, 2097bv64) == 0bv8); free requires (memory_load8_le(mem, 2098bv64) == 2bv8); @@ -135,30 +318,14 @@ procedure main() free requires (memory_load8_le(mem, 2101bv64) == 100bv8); free requires (memory_load8_le(mem, 2102bv64) == 10bv8); free requires (memory_load8_le(mem, 2103bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 200bv8); - free requires (memory_load8_le(mem, 69545bv64) == 13bv8); - free requires (memory_load8_le(mem, 69546bv64) == 1bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 0bv8); - free requires (memory_load8_le(mem, 69553bv64) == 0bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 0bv8); - free requires (memory_load8_le(mem, 69561bv64) == 0bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); + free requires (memory_load8_le(mem, 69048bv64) == 144bv8); + free requires (memory_load8_le(mem, 69049bv64) == 7bv8); + free requires (memory_load8_le(mem, 69050bv64) == 0bv8); + free requires (memory_load8_le(mem, 69051bv64) == 0bv8); + free requires (memory_load8_le(mem, 69052bv64) == 0bv8); + free requires (memory_load8_le(mem, 69053bv64) == 0bv8); + free requires (memory_load8_le(mem, 69054bv64) == 0bv8); + free requires (memory_load8_le(mem, 69055bv64) == 0bv8); free requires (memory_load8_le(mem, 69568bv64) == 60bv8); free requires (memory_load8_le(mem, 69569bv64) == 16bv8); free requires (memory_load8_le(mem, 69570bv64) == 1bv8); @@ -167,22 +334,6 @@ procedure main() free requires (memory_load8_le(mem, 69573bv64) == 0bv8); free requires (memory_load8_le(mem, 69574bv64) == 0bv8); free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 64bv8); - free requires (memory_load8_le(mem, 69585bv64) == 16bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 196bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -191,22 +342,14 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 0bv8); - free requires (memory_load8_le(mem, 69673bv64) == 0bv8); - free requires (memory_load8_le(mem, 69674bv64) == 0bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69056bv64) == 64bv8); + free requires (memory_load8_le(mem, 69057bv64) == 7bv8); + free requires (memory_load8_le(mem, 69058bv64) == 0bv8); + free requires (memory_load8_le(mem, 69059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69060bv64) == 0bv8); + free requires (memory_load8_le(mem, 69061bv64) == 0bv8); + free requires (memory_load8_le(mem, 69062bv64) == 0bv8); + free requires (memory_load8_le(mem, 69063bv64) == 0bv8); free requires (memory_load8_le(mem, 69680bv64) == 48bv8); free requires (memory_load8_le(mem, 69681bv64) == 16bv8); free requires (memory_load8_le(mem, 69682bv64) == 1bv8); @@ -215,10 +358,74 @@ procedure main() free requires (memory_load8_le(mem, 69685bv64) == 0bv8); free requires (memory_load8_le(mem, 69686bv64) == 0bv8); free requires (memory_load8_le(mem, 69687bv64) == 0bv8); + free requires (memory_load8_le(mem, 69584bv64) == 64bv8); + free requires (memory_load8_le(mem, 69585bv64) == 16bv8); + free requires (memory_load8_le(mem, 69586bv64) == 1bv8); + free requires (memory_load8_le(mem, 69587bv64) == 0bv8); + free requires (memory_load8_le(mem, 69588bv64) == 0bv8); + free requires (memory_load8_le(mem, 69589bv64) == 0bv8); + free requires (memory_load8_le(mem, 69590bv64) == 0bv8); + free requires (memory_load8_le(mem, 69591bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2096bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2097bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2098bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2099bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2100bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2101bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2102bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2103bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 144bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69568bv64) == 60bv8); + free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 196bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69584bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69585bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69586bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -264,3 +471,115 @@ procedure main() procedure printf(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2096bv64) == 1bv8); + free requires (memory_load8_le(mem, 2097bv64) == 0bv8); + free requires (memory_load8_le(mem, 2098bv64) == 2bv8); + free requires (memory_load8_le(mem, 2099bv64) == 0bv8); + free requires (memory_load8_le(mem, 2100bv64) == 37bv8); + free requires (memory_load8_le(mem, 2101bv64) == 100bv8); + free requires (memory_load8_le(mem, 2102bv64) == 10bv8); + free requires (memory_load8_le(mem, 2103bv64) == 0bv8); + free requires (memory_load8_le(mem, 69048bv64) == 144bv8); + free requires (memory_load8_le(mem, 69049bv64) == 7bv8); + free requires (memory_load8_le(mem, 69050bv64) == 0bv8); + free requires (memory_load8_le(mem, 69051bv64) == 0bv8); + free requires (memory_load8_le(mem, 69052bv64) == 0bv8); + free requires (memory_load8_le(mem, 69053bv64) == 0bv8); + free requires (memory_load8_le(mem, 69054bv64) == 0bv8); + free requires (memory_load8_le(mem, 69055bv64) == 0bv8); + free requires (memory_load8_le(mem, 69568bv64) == 60bv8); + free requires (memory_load8_le(mem, 69569bv64) == 16bv8); + free requires (memory_load8_le(mem, 69570bv64) == 1bv8); + free requires (memory_load8_le(mem, 69571bv64) == 0bv8); + free requires (memory_load8_le(mem, 69572bv64) == 0bv8); + free requires (memory_load8_le(mem, 69573bv64) == 0bv8); + free requires (memory_load8_le(mem, 69574bv64) == 0bv8); + free requires (memory_load8_le(mem, 69575bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 196bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69056bv64) == 64bv8); + free requires (memory_load8_le(mem, 69057bv64) == 7bv8); + free requires (memory_load8_le(mem, 69058bv64) == 0bv8); + free requires (memory_load8_le(mem, 69059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69060bv64) == 0bv8); + free requires (memory_load8_le(mem, 69061bv64) == 0bv8); + free requires (memory_load8_le(mem, 69062bv64) == 0bv8); + free requires (memory_load8_le(mem, 69063bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); + free requires (memory_load8_le(mem, 69584bv64) == 64bv8); + free requires (memory_load8_le(mem, 69585bv64) == 16bv8); + free requires (memory_load8_le(mem, 69586bv64) == 1bv8); + free requires (memory_load8_le(mem, 69587bv64) == 0bv8); + free requires (memory_load8_le(mem, 69588bv64) == 0bv8); + free requires (memory_load8_le(mem, 69589bv64) == 0bv8); + free requires (memory_load8_le(mem, 69590bv64) == 0bv8); + free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2096bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2097bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2098bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2099bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2100bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2101bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2102bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2103bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69048bv64) == 144bv8); + free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69568bv64) == 60bv8); + free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 196bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69056bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69584bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69585bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69586bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); diff --git a/src/test/correct/function1/gcc/function1.expected b/src/test/correct/function1/gcc/function1.expected index 8316af7bd..bfe154f83 100644 --- a/src/test/correct/function1/gcc/function1.expected +++ b/src/test/correct/function1/gcc/function1.expected @@ -82,9 +82,52 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2048bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2049bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2050bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2056bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2057bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2058bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 132bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -102,8 +145,96 @@ procedure guarantee_reflexive(); procedure get_two() modifies Gamma_R0, Gamma_R1, Gamma_R31, Gamma_stack, R0, R1, R31, stack; + free requires (memory_load8_le(mem, 2048bv64) == 1bv8); + free requires (memory_load8_le(mem, 2049bv64) == 0bv8); + free requires (memory_load8_le(mem, 2050bv64) == 2bv8); + free requires (memory_load8_le(mem, 2051bv64) == 0bv8); + free requires (memory_load8_le(mem, 2052bv64) == 0bv8); + free requires (memory_load8_le(mem, 2053bv64) == 0bv8); + free requires (memory_load8_le(mem, 2054bv64) == 0bv8); + free requires (memory_load8_le(mem, 2055bv64) == 0bv8); + free requires (memory_load8_le(mem, 2056bv64) == 37bv8); + free requires (memory_load8_le(mem, 2057bv64) == 100bv8); + free requires (memory_load8_le(mem, 2058bv64) == 10bv8); + free requires (memory_load8_le(mem, 2059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 80bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 0bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 132bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2048bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2049bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2050bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2056bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2057bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2058bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 132bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lget_two: R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; @@ -122,6 +253,22 @@ procedure get_two() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R2, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R2, R29, R30, R31, mem, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 2048bv64) == 1bv8); free requires (memory_load8_le(mem, 2049bv64) == 0bv8); free requires (memory_load8_le(mem, 2050bv64) == 2bv8); @@ -134,102 +281,22 @@ procedure main() free requires (memory_load8_le(mem, 2057bv64) == 100bv8); free requires (memory_load8_le(mem, 2058bv64) == 10bv8); free requires (memory_load8_le(mem, 2059bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 208bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 208bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 208bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 208bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 160bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 80bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 0bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 132bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -238,22 +305,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -266,6 +317,50 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2048bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2049bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2050bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2056bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2057bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2058bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 132bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -315,3 +410,91 @@ procedure main() procedure printf(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2048bv64) == 1bv8); + free requires (memory_load8_le(mem, 2049bv64) == 0bv8); + free requires (memory_load8_le(mem, 2050bv64) == 2bv8); + free requires (memory_load8_le(mem, 2051bv64) == 0bv8); + free requires (memory_load8_le(mem, 2052bv64) == 0bv8); + free requires (memory_load8_le(mem, 2053bv64) == 0bv8); + free requires (memory_load8_le(mem, 2054bv64) == 0bv8); + free requires (memory_load8_le(mem, 2055bv64) == 0bv8); + free requires (memory_load8_le(mem, 2056bv64) == 37bv8); + free requires (memory_load8_le(mem, 2057bv64) == 100bv8); + free requires (memory_load8_le(mem, 2058bv64) == 10bv8); + free requires (memory_load8_le(mem, 2059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 80bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 0bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 132bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2048bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2049bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2050bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2056bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2057bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2058bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 132bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); diff --git a/src/test/correct/function1/gcc_O2/function1.expected b/src/test/correct/function1/gcc_O2/function1.expected index 2c1b48b82..3ac5f5161 100644 --- a/src/test/correct/function1/gcc_O2/function1.expected +++ b/src/test/correct/function1/gcc_O2/function1.expected @@ -62,9 +62,52 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2048bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2049bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2050bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2056bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2057bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2058bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -82,9 +125,6 @@ procedure guarantee_reflexive(); procedure __printf_chk(); modifies Gamma_R16, Gamma_R17, R16, R17; - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R2, Gamma_R29, Gamma_R3, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R2, R29, R3, R30, R31, mem, stack; free requires (memory_load8_le(mem, 2048bv64) == 1bv8); free requires (memory_load8_le(mem, 2049bv64) == 0bv8); free requires (memory_load8_le(mem, 2050bv64) == 2bv8); @@ -97,102 +137,22 @@ procedure main() free requires (memory_load8_le(mem, 2057bv64) == 100bv8); free requires (memory_load8_le(mem, 2058bv64) == 10bv8); free requires (memory_load8_le(mem, 2059bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 224bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 224bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 224bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 224bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 224bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 160bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 208bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 128bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 128bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -201,14 +161,61 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2048bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2049bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2050bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2056bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2057bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2058bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R2, Gamma_R29, Gamma_R3, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R2, R29, R3, R30, R31, mem, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -225,10 +232,98 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 2048bv64) == 1bv8); + free requires (memory_load8_le(mem, 2049bv64) == 0bv8); + free requires (memory_load8_le(mem, 2050bv64) == 2bv8); + free requires (memory_load8_le(mem, 2051bv64) == 0bv8); + free requires (memory_load8_le(mem, 2052bv64) == 0bv8); + free requires (memory_load8_le(mem, 2053bv64) == 0bv8); + free requires (memory_load8_le(mem, 2054bv64) == 0bv8); + free requires (memory_load8_le(mem, 2055bv64) == 0bv8); + free requires (memory_load8_le(mem, 2056bv64) == 37bv8); + free requires (memory_load8_le(mem, 2057bv64) == 100bv8); + free requires (memory_load8_le(mem, 2058bv64) == 10bv8); + free requires (memory_load8_le(mem, 2059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 208bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 128bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 128bv8); + free requires (memory_load8_le(mem, 69617bv64) == 6bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2048bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2049bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2050bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2056bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2057bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2058bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #1: bv64; var Gamma_#1: bool; diff --git a/src/test/correct/function1/gcc_no_plt_no_pic/function1.expected b/src/test/correct/function1/gcc_no_plt_no_pic/function1.expected index a5f223f69..592ebb3d1 100644 --- a/src/test/correct/function1/gcc_no_plt_no_pic/function1.expected +++ b/src/test/correct/function1/gcc_no_plt_no_pic/function1.expected @@ -82,9 +82,52 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2048bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2049bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2050bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2056bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2057bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2058bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 132bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -102,8 +145,96 @@ procedure guarantee_reflexive(); procedure get_two() modifies Gamma_R0, Gamma_R1, Gamma_R31, Gamma_stack, R0, R1, R31, stack; + free requires (memory_load8_le(mem, 2048bv64) == 1bv8); + free requires (memory_load8_le(mem, 2049bv64) == 0bv8); + free requires (memory_load8_le(mem, 2050bv64) == 2bv8); + free requires (memory_load8_le(mem, 2051bv64) == 0bv8); + free requires (memory_load8_le(mem, 2052bv64) == 0bv8); + free requires (memory_load8_le(mem, 2053bv64) == 0bv8); + free requires (memory_load8_le(mem, 2054bv64) == 0bv8); + free requires (memory_load8_le(mem, 2055bv64) == 0bv8); + free requires (memory_load8_le(mem, 2056bv64) == 37bv8); + free requires (memory_load8_le(mem, 2057bv64) == 100bv8); + free requires (memory_load8_le(mem, 2058bv64) == 10bv8); + free requires (memory_load8_le(mem, 2059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 80bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 0bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 132bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2048bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2049bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2050bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2056bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2057bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2058bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 132bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lget_two: R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; @@ -122,6 +253,22 @@ procedure get_two() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R2, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R2, R29, R30, R31, mem, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 2048bv64) == 1bv8); free requires (memory_load8_le(mem, 2049bv64) == 0bv8); free requires (memory_load8_le(mem, 2050bv64) == 2bv8); @@ -134,102 +281,22 @@ procedure main() free requires (memory_load8_le(mem, 2057bv64) == 100bv8); free requires (memory_load8_le(mem, 2058bv64) == 10bv8); free requires (memory_load8_le(mem, 2059bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 208bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 208bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 208bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 208bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 160bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 80bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 0bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 132bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -238,22 +305,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -266,6 +317,50 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2048bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2049bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2050bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2056bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2057bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2058bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 132bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -315,3 +410,91 @@ procedure main() procedure printf(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2048bv64) == 1bv8); + free requires (memory_load8_le(mem, 2049bv64) == 0bv8); + free requires (memory_load8_le(mem, 2050bv64) == 2bv8); + free requires (memory_load8_le(mem, 2051bv64) == 0bv8); + free requires (memory_load8_le(mem, 2052bv64) == 0bv8); + free requires (memory_load8_le(mem, 2053bv64) == 0bv8); + free requires (memory_load8_le(mem, 2054bv64) == 0bv8); + free requires (memory_load8_le(mem, 2055bv64) == 0bv8); + free requires (memory_load8_le(mem, 2056bv64) == 37bv8); + free requires (memory_load8_le(mem, 2057bv64) == 100bv8); + free requires (memory_load8_le(mem, 2058bv64) == 10bv8); + free requires (memory_load8_le(mem, 2059bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 80bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 0bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 132bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2048bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2049bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2050bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2056bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2057bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2058bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2059bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 132bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); diff --git a/src/test/correct/function1/gcc_pic/function1.expected b/src/test/correct/function1/gcc_pic/function1.expected index aa8e4e0bd..f9d2b23a3 100644 --- a/src/test/correct/function1/gcc_pic/function1.expected +++ b/src/test/correct/function1/gcc_pic/function1.expected @@ -82,9 +82,68 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2112bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2113bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2114bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2115bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2116bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2117bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2118bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2119bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2120bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2121bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2122bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2123bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69608bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69609bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69610bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69611bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69612bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69613bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69614bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69615bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 196bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 144bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 7bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -102,8 +161,128 @@ procedure guarantee_reflexive(); procedure get_two() modifies Gamma_R0, Gamma_R1, Gamma_R31, Gamma_stack, R0, R1, R31, stack; + free requires (memory_load8_le(mem, 2112bv64) == 1bv8); + free requires (memory_load8_le(mem, 2113bv64) == 0bv8); + free requires (memory_load8_le(mem, 2114bv64) == 2bv8); + free requires (memory_load8_le(mem, 2115bv64) == 0bv8); + free requires (memory_load8_le(mem, 2116bv64) == 0bv8); + free requires (memory_load8_le(mem, 2117bv64) == 0bv8); + free requires (memory_load8_le(mem, 2118bv64) == 0bv8); + free requires (memory_load8_le(mem, 2119bv64) == 0bv8); + free requires (memory_load8_le(mem, 2120bv64) == 37bv8); + free requires (memory_load8_le(mem, 2121bv64) == 100bv8); + free requires (memory_load8_le(mem, 2122bv64) == 10bv8); + free requires (memory_load8_le(mem, 2123bv64) == 0bv8); + free requires (memory_load8_le(mem, 69608bv64) == 24bv8); + free requires (memory_load8_le(mem, 69609bv64) == 16bv8); + free requires (memory_load8_le(mem, 69610bv64) == 1bv8); + free requires (memory_load8_le(mem, 69611bv64) == 0bv8); + free requires (memory_load8_le(mem, 69612bv64) == 0bv8); + free requires (memory_load8_le(mem, 69613bv64) == 0bv8); + free requires (memory_load8_le(mem, 69614bv64) == 0bv8); + free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 196bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 16bv8); + free requires (memory_load8_le(mem, 69594bv64) == 1bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 64bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 144bv8); + free requires (memory_load8_le(mem, 68993bv64) == 7bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2112bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2113bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2114bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2115bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2116bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2117bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2118bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2119bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2120bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2121bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2122bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2123bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69608bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69609bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69610bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69611bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69612bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69613bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69614bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69615bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 196bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 144bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 7bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); { lget_two: R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; @@ -122,6 +301,22 @@ procedure get_two() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R2, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R2, R29, R30, R31, mem, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 2112bv64) == 1bv8); free requires (memory_load8_le(mem, 2113bv64) == 0bv8); free requires (memory_load8_le(mem, 2114bv64) == 2bv8); @@ -134,110 +329,6 @@ procedure main() free requires (memory_load8_le(mem, 2121bv64) == 100bv8); free requires (memory_load8_le(mem, 2122bv64) == 10bv8); free requires (memory_load8_le(mem, 2123bv64) == 0bv8); - free requires (memory_load8_le(mem, 69504bv64) == 0bv8); - free requires (memory_load8_le(mem, 69505bv64) == 0bv8); - free requires (memory_load8_le(mem, 69506bv64) == 0bv8); - free requires (memory_load8_le(mem, 69507bv64) == 0bv8); - free requires (memory_load8_le(mem, 69508bv64) == 0bv8); - free requires (memory_load8_le(mem, 69509bv64) == 0bv8); - free requires (memory_load8_le(mem, 69510bv64) == 0bv8); - free requires (memory_load8_le(mem, 69511bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 6bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 6bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 6bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 0bv8); - free requires (memory_load8_le(mem, 69553bv64) == 6bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 0bv8); - free requires (memory_load8_le(mem, 69561bv64) == 6bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 144bv8); - free requires (memory_load8_le(mem, 69569bv64) == 13bv8); - free requires (memory_load8_le(mem, 69570bv64) == 1bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 20bv8); - free requires (memory_load8_le(mem, 69593bv64) == 16bv8); - free requires (memory_load8_le(mem, 69594bv64) == 1bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); free requires (memory_load8_le(mem, 69608bv64) == 24bv8); free requires (memory_load8_le(mem, 69609bv64) == 16bv8); free requires (memory_load8_le(mem, 69610bv64) == 1bv8); @@ -246,30 +337,6 @@ procedure main() free requires (memory_load8_le(mem, 69613bv64) == 0bv8); free requires (memory_load8_le(mem, 69614bv64) == 0bv8); free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 196bv8); - free requires (memory_load8_le(mem, 69617bv64) == 7bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -278,10 +345,102 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 196bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 16bv8); + free requires (memory_load8_le(mem, 69594bv64) == 1bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 64bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 144bv8); + free requires (memory_load8_le(mem, 68993bv64) == 7bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2112bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2113bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2114bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2115bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2116bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2117bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2118bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2119bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2120bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2121bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2122bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2123bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69608bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69609bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69610bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69611bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69612bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69613bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69614bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69615bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 196bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 144bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 7bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -331,3 +490,123 @@ procedure main() procedure printf(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2112bv64) == 1bv8); + free requires (memory_load8_le(mem, 2113bv64) == 0bv8); + free requires (memory_load8_le(mem, 2114bv64) == 2bv8); + free requires (memory_load8_le(mem, 2115bv64) == 0bv8); + free requires (memory_load8_le(mem, 2116bv64) == 0bv8); + free requires (memory_load8_le(mem, 2117bv64) == 0bv8); + free requires (memory_load8_le(mem, 2118bv64) == 0bv8); + free requires (memory_load8_le(mem, 2119bv64) == 0bv8); + free requires (memory_load8_le(mem, 2120bv64) == 37bv8); + free requires (memory_load8_le(mem, 2121bv64) == 100bv8); + free requires (memory_load8_le(mem, 2122bv64) == 10bv8); + free requires (memory_load8_le(mem, 2123bv64) == 0bv8); + free requires (memory_load8_le(mem, 69608bv64) == 24bv8); + free requires (memory_load8_le(mem, 69609bv64) == 16bv8); + free requires (memory_load8_le(mem, 69610bv64) == 1bv8); + free requires (memory_load8_le(mem, 69611bv64) == 0bv8); + free requires (memory_load8_le(mem, 69612bv64) == 0bv8); + free requires (memory_load8_le(mem, 69613bv64) == 0bv8); + free requires (memory_load8_le(mem, 69614bv64) == 0bv8); + free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 196bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 16bv8); + free requires (memory_load8_le(mem, 69594bv64) == 1bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 64bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 144bv8); + free requires (memory_load8_le(mem, 68993bv64) == 7bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2112bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2113bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2114bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2115bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2116bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2117bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2118bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2119bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2120bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2121bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2122bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2123bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69608bv64) == 24bv8); + free ensures (memory_load8_le(mem, 69609bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69610bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69611bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69612bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69613bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69614bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69615bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 196bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 144bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 7bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); diff --git a/src/test/correct/functionpointer/clang/functionpointer.expected b/src/test/correct/functionpointer/clang/functionpointer.expected deleted file mode 100644 index a01252542..000000000 --- a/src/test/correct/functionpointer/clang/functionpointer.expected +++ /dev/null @@ -1,297 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R29: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_R8: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R29: bv64; -var R30: bv64; -var R31: bv64; -var R8: bv64; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -function {:bvbuiltin "bvadd"} bvadd32(bv32, bv32) returns (bv32); -function {:bvbuiltin "bvadd"} bvadd33(bv33, bv33) returns (bv33); -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function {:bvbuiltin "bvcomp"} bvcomp1(bv1, bv1) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp32(bv32, bv32) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp33(bv33, bv33) returns (bv1); -function {:bvbuiltin "bvnot"} bvnot1(bv1) returns (bv1); -function gamma_load32(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))) -} - -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load32_le(memory: [bv64]bv8, index: bv64) returns (bv32) { - (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))) -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -function {:bvbuiltin "sign_extend 1"} sign_extend1_32(bv32) returns (bv33); -function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); -function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); -procedure rely(); - modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_stack, R0, R29, R30, R31, R8, stack; - requires (Gamma_R0 == true); - free requires (memory_load8_le(mem, 2052bv64) == 1bv8); - free requires (memory_load8_le(mem, 2053bv64) == 0bv8); - free requires (memory_load8_le(mem, 2054bv64) == 2bv8); - free requires (memory_load8_le(mem, 2055bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 68bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 40bv8); - free requires (memory_load8_le(mem, 69673bv64) == 16bv8); - free requires (memory_load8_le(mem, 69674bv64) == 1bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); -{ - var #4: bv64; - var #5: bv32; - var #6: bv64; - var #7: bv32; - var #8: bv32; - var CF: bv1; - var Gamma_#4: bool; - var Gamma_#5: bool; - var Gamma_#6: bool; - var Gamma_#7: bool; - var Gamma_#8: bool; - var Gamma_CF: bool; - var Gamma_NF: bool; - var Gamma_VF: bool; - var Gamma_ZF: bool; - var NF: bv1; - var VF: bv1; - var ZF: bv1; - lmain: - R31, Gamma_R31 := bvadd64(R31, 18446744073709551568bv64), Gamma_R31; - #4, Gamma_#4 := bvadd64(R31, 32bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #4, R29), gamma_store64(Gamma_stack, #4, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#4, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#4, 8bv64), Gamma_R30); - R29, Gamma_R29 := bvadd64(R31, 32bv64), Gamma_R31; - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551612bv64), 0bv32), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551612bv64), true); - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551608bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551608bv64), Gamma_R0); - R8, Gamma_R8 := zero_extend32_32(memory_load32_le(stack, bvadd64(R29, 18446744073709551608bv64))), gamma_load32(Gamma_stack, bvadd64(R29, 18446744073709551608bv64)); - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 12bv64), R8[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 12bv64), Gamma_R8); - #5, Gamma_#5 := bvadd32(R8[32:0], 4294967295bv32), Gamma_R8; - VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#5, 1bv32)), bvadd33(sign_extend1_32(R8[32:0]), 0bv33))), (Gamma_R8 && Gamma_#5); - CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#5, 1bv32)), bvadd33(zero_extend1_32(R8[32:0]), 4294967296bv33))), (Gamma_R8 && Gamma_#5); - ZF, Gamma_ZF := bvcomp32(bvadd32(#5, 1bv32), 0bv32), Gamma_#5; - NF, Gamma_NF := bvadd32(#5, 1bv32)[32:31], Gamma_#5; - R8, Gamma_R8 := zero_extend32_32(bvadd32(#5, 1bv32)), Gamma_#5; - assert Gamma_ZF; - if ((bvnot1(bvcomp1(ZF, 1bv1)) != 0bv1)) { - goto l00000426; - } - goto l00000429; - l00000429: - R8, Gamma_R8 := 1bv64, true; - goto l0000042c; - l00000426: - R8, Gamma_R8 := 0bv64, true; - goto l0000042c; - l0000042c: - assert Gamma_R8; - if ((bvcomp1(R8[1:0], 1bv1) != 0bv1)) { - goto l00000434; - } - goto l000004c4; - l00000434: - R8, Gamma_R8 := 0bv64, true; - R8, Gamma_R8 := bvadd64(R8, 1812bv64), Gamma_R8; - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R8), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R8); - goto l0000044d; - l000004c4: - goto l000004c5; - l000004c5: - R8, Gamma_R8 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 12bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 12bv64)); - #7, Gamma_#7 := bvadd32(R8[32:0], 4294967294bv32), Gamma_R8; - VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#7, 1bv32)), bvadd33(sign_extend1_32(R8[32:0]), 8589934591bv33))), (Gamma_R8 && Gamma_#7); - CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#7, 1bv32)), bvadd33(zero_extend1_32(R8[32:0]), 4294967295bv33))), (Gamma_R8 && Gamma_#7); - ZF, Gamma_ZF := bvcomp32(bvadd32(#7, 1bv32), 0bv32), Gamma_#7; - NF, Gamma_NF := bvadd32(#7, 1bv32)[32:31], Gamma_#7; - R8, Gamma_R8 := zero_extend32_32(bvadd32(#7, 1bv32)), Gamma_#7; - assert Gamma_ZF; - if ((bvnot1(bvcomp1(ZF, 1bv1)) != 0bv1)) { - goto l000004ee; - } - goto l000004f1; - l000004f1: - R8, Gamma_R8 := 1bv64, true; - goto l000004f4; - l000004ee: - R8, Gamma_R8 := 0bv64, true; - goto l000004f4; - l000004f4: - assert Gamma_R8; - if ((bvcomp1(R8[1:0], 1bv1) != 0bv1)) { - goto l0000047f; - } - goto l00000501; - l0000047f: - R8, Gamma_R8 := 0bv64, true; - R8, Gamma_R8 := bvadd64(R8, 1828bv64), Gamma_R8; - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R8), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R8); - goto l0000044d; - l00000501: - goto l00000502; - l00000502: - R8, Gamma_R8 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 12bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 12bv64)); - #8, Gamma_#8 := bvadd32(R8[32:0], 4294967293bv32), Gamma_R8; - VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#8, 1bv32)), bvadd33(sign_extend1_32(R8[32:0]), 8589934590bv33))), (Gamma_R8 && Gamma_#8); - CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#8, 1bv32)), bvadd33(zero_extend1_32(R8[32:0]), 4294967294bv33))), (Gamma_R8 && Gamma_#8); - ZF, Gamma_ZF := bvcomp32(bvadd32(#8, 1bv32), 0bv32), Gamma_#8; - NF, Gamma_NF := bvadd32(#8, 1bv32)[32:31], Gamma_#8; - R8, Gamma_R8 := zero_extend32_32(bvadd32(#8, 1bv32)), Gamma_#8; - assert Gamma_ZF; - if ((bvnot1(bvcomp1(ZF, 1bv1)) != 0bv1)) { - goto l0000052b; - } - goto l0000052e; - l0000052e: - R8, Gamma_R8 := 1bv64, true; - goto l00000531; - l0000052b: - R8, Gamma_R8 := 0bv64, true; - goto l00000531; - l00000531: - assert Gamma_R8; - if ((bvcomp1(R8[1:0], 1bv1) != 0bv1)) { - goto l00000496; - } - goto l0000053e; - l00000496: - R8, Gamma_R8 := 0bv64, true; - R8, Gamma_R8 := bvadd64(R8, 1844bv64), Gamma_R8; - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R8), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R8); - goto l0000044d; - l0000053e: - goto l000004ad; - l000004ad: - R8, Gamma_R8 := 0bv64, true; - R8, Gamma_R8 := bvadd64(R8, 1812bv64), Gamma_R8; - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R8), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R8); - goto l0000044d; - l0000044d: - R8, Gamma_R8 := memory_load64_le(stack, bvadd64(R31, 16bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 16bv64)); - R30, Gamma_R30 := 2016bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l0000045f; - l0000045f: - R0, Gamma_R0 := 0bv64, true; - #6, Gamma_#6 := bvadd64(R31, 32bv64), Gamma_R31; - R29, Gamma_R29 := memory_load64_le(stack, #6), gamma_load64(Gamma_stack, #6); - R30, Gamma_R30 := memory_load64_le(stack, bvadd64(#6, 8bv64)), gamma_load64(Gamma_stack, bvadd64(#6, 8bv64)); - R31, Gamma_R31 := bvadd64(R31, 48bv64), Gamma_R31; - return; -} diff --git a/src/test/correct/functionpointer/clang_O2/functionpointer.expected b/src/test/correct/functionpointer/clang_O2/functionpointer.expected deleted file mode 100644 index 50a021047..000000000 --- a/src/test/correct/functionpointer/clang_O2/functionpointer.expected +++ /dev/null @@ -1,214 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R10: bool; -var Gamma_R29: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_R8: bool; -var Gamma_R9: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R10: bv64; -var R29: bv64; -var R30: bv64; -var R31: bv64; -var R8: bv64; -var R9: bv64; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -function {:bvbuiltin "bvadd"} bvadd32(bv32, bv32) returns (bv32); -function {:bvbuiltin "bvadd"} bvadd33(bv33, bv33) returns (bv33); -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function {:bvbuiltin "bvcomp"} bvcomp1(bv1, bv1) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp32(bv32, bv32) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp33(bv33, bv33) returns (bv1); -function {:bvbuiltin "bvnot"} bvnot1(bv1) returns (bv1); -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -function {:bvbuiltin "sign_extend 1"} sign_extend1_32(bv32) returns (bv33); -function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); -procedure rely(); - modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R0, Gamma_R10, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_stack, R0, R10, R29, R30, R31, R8, R9, stack; - requires (Gamma_R0 == true); - free requires (memory_load8_le(mem, 1944bv64) == 1bv8); - free requires (memory_load8_le(mem, 1945bv64) == 0bv8); - free requires (memory_load8_le(mem, 1946bv64) == 2bv8); - free requires (memory_load8_le(mem, 1947bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 68bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 40bv8); - free requires (memory_load8_le(mem, 69673bv64) == 16bv8); - free requires (memory_load8_le(mem, 69674bv64) == 1bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); -{ - var #4: bv64; - var #5: bv32; - var #6: bv32; - var CF: bv1; - var Gamma_#4: bool; - var Gamma_#5: bool; - var Gamma_#6: bool; - var Gamma_CF: bool; - var Gamma_NF: bool; - var Gamma_VF: bool; - var Gamma_ZF: bool; - var NF: bv1; - var VF: bv1; - var ZF: bv1; - lmain: - #4, Gamma_#4 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #4, R29), gamma_store64(Gamma_stack, #4, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#4, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#4, 8bv64), Gamma_R30); - R31, Gamma_R31 := #4, Gamma_#4; - R29, Gamma_R29 := R31, Gamma_R31; - R8, Gamma_R8 := 0bv64, true; - R8, Gamma_R8 := bvadd64(R8, 1812bv64), Gamma_R8; - R9, Gamma_R9 := 0bv64, true; - R9, Gamma_R9 := bvadd64(R9, 1828bv64), Gamma_R9; - #5, Gamma_#5 := bvadd32(R0[32:0], 4294967294bv32), Gamma_R0; - VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#5, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934591bv33))), (Gamma_R0 && Gamma_#5); - CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#5, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967295bv33))), (Gamma_R0 && Gamma_#5); - ZF, Gamma_ZF := bvcomp32(bvadd32(#5, 1bv32), 0bv32), Gamma_#5; - NF, Gamma_NF := bvadd32(#5, 1bv32)[32:31], Gamma_#5; - R10, Gamma_R10 := 0bv64, true; - R10, Gamma_R10 := bvadd64(R10, 1844bv64), Gamma_R10; - assert Gamma_ZF; - if ((bvcomp1(ZF, 1bv1) != 0bv1)) { - goto l000003b8; - } - goto l000003bc; - l000003bc: - R8, Gamma_R8 := R8, Gamma_R8; - goto l000003bf; - l000003b8: - R8, Gamma_R8 := R9, Gamma_R9; - goto l000003bf; - l000003bf: - #6, Gamma_#6 := bvadd32(R0[32:0], 4294967293bv32), Gamma_R0; - VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#6, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934590bv33))), (Gamma_R0 && Gamma_#6); - CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#6, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967294bv33))), (Gamma_R0 && Gamma_#6); - ZF, Gamma_ZF := bvcomp32(bvadd32(#6, 1bv32), 0bv32), Gamma_#6; - NF, Gamma_NF := bvadd32(#6, 1bv32)[32:31], Gamma_#6; - assert Gamma_ZF; - if ((bvcomp1(ZF, 1bv1) != 0bv1)) { - goto l000003e1; - } - goto l000003e5; - l000003e5: - R8, Gamma_R8 := R8, Gamma_R8; - goto l000003e8; - l000003e1: - R8, Gamma_R8 := R10, Gamma_R10; - goto l000003e8; - l000003e8: - R30, Gamma_R30 := 1912bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l000003f6; - l000003f6: - R0, Gamma_R0 := 0bv64, true; - R29, Gamma_R29 := memory_load64_le(stack, R31), gamma_load64(Gamma_stack, R31); - R30, Gamma_R30 := memory_load64_le(stack, bvadd64(R31, 8bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 8bv64)); - R31, Gamma_R31 := bvadd64(R31, 16bv64), Gamma_R31; - return; -} diff --git a/src/test/correct/functionpointer/clang_no_plt_no_pic/functionpointer.expected b/src/test/correct/functionpointer/clang_no_plt_no_pic/functionpointer.expected deleted file mode 100644 index 02c93f777..000000000 --- a/src/test/correct/functionpointer/clang_no_plt_no_pic/functionpointer.expected +++ /dev/null @@ -1,297 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R29: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_R8: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R29: bv64; -var R30: bv64; -var R31: bv64; -var R8: bv64; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -function {:bvbuiltin "bvadd"} bvadd32(bv32, bv32) returns (bv32); -function {:bvbuiltin "bvadd"} bvadd33(bv33, bv33) returns (bv33); -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function {:bvbuiltin "bvcomp"} bvcomp1(bv1, bv1) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp32(bv32, bv32) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp33(bv33, bv33) returns (bv1); -function {:bvbuiltin "bvnot"} bvnot1(bv1) returns (bv1); -function gamma_load32(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))) -} - -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load32_le(memory: [bv64]bv8, index: bv64) returns (bv32) { - (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))) -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -function {:bvbuiltin "sign_extend 1"} sign_extend1_32(bv32) returns (bv33); -function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); -function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); -procedure rely(); - modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_stack, R0, R29, R30, R31, R8, stack; - requires (Gamma_R0 == true); - free requires (memory_load8_le(mem, 2052bv64) == 1bv8); - free requires (memory_load8_le(mem, 2053bv64) == 0bv8); - free requires (memory_load8_le(mem, 2054bv64) == 2bv8); - free requires (memory_load8_le(mem, 2055bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 68bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 40bv8); - free requires (memory_load8_le(mem, 69673bv64) == 16bv8); - free requires (memory_load8_le(mem, 69674bv64) == 1bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); -{ - var #4: bv64; - var #5: bv32; - var #6: bv64; - var #7: bv32; - var #8: bv32; - var CF: bv1; - var Gamma_#4: bool; - var Gamma_#5: bool; - var Gamma_#6: bool; - var Gamma_#7: bool; - var Gamma_#8: bool; - var Gamma_CF: bool; - var Gamma_NF: bool; - var Gamma_VF: bool; - var Gamma_ZF: bool; - var NF: bv1; - var VF: bv1; - var ZF: bv1; - lmain: - R31, Gamma_R31 := bvadd64(R31, 18446744073709551568bv64), Gamma_R31; - #4, Gamma_#4 := bvadd64(R31, 32bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #4, R29), gamma_store64(Gamma_stack, #4, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#4, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#4, 8bv64), Gamma_R30); - R29, Gamma_R29 := bvadd64(R31, 32bv64), Gamma_R31; - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551612bv64), 0bv32), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551612bv64), true); - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551608bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551608bv64), Gamma_R0); - R8, Gamma_R8 := zero_extend32_32(memory_load32_le(stack, bvadd64(R29, 18446744073709551608bv64))), gamma_load32(Gamma_stack, bvadd64(R29, 18446744073709551608bv64)); - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 12bv64), R8[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 12bv64), Gamma_R8); - #5, Gamma_#5 := bvadd32(R8[32:0], 4294967295bv32), Gamma_R8; - VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#5, 1bv32)), bvadd33(sign_extend1_32(R8[32:0]), 0bv33))), (Gamma_R8 && Gamma_#5); - CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#5, 1bv32)), bvadd33(zero_extend1_32(R8[32:0]), 4294967296bv33))), (Gamma_R8 && Gamma_#5); - ZF, Gamma_ZF := bvcomp32(bvadd32(#5, 1bv32), 0bv32), Gamma_#5; - NF, Gamma_NF := bvadd32(#5, 1bv32)[32:31], Gamma_#5; - R8, Gamma_R8 := zero_extend32_32(bvadd32(#5, 1bv32)), Gamma_#5; - assert Gamma_ZF; - if ((bvnot1(bvcomp1(ZF, 1bv1)) != 0bv1)) { - goto l00000c72; - } - goto l00000c75; - l00000c75: - R8, Gamma_R8 := 1bv64, true; - goto l00000c78; - l00000c72: - R8, Gamma_R8 := 0bv64, true; - goto l00000c78; - l00000c78: - assert Gamma_R8; - if ((bvcomp1(R8[1:0], 1bv1) != 0bv1)) { - goto l00000c80; - } - goto l00000d10; - l00000c80: - R8, Gamma_R8 := 0bv64, true; - R8, Gamma_R8 := bvadd64(R8, 1812bv64), Gamma_R8; - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R8), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R8); - goto l00000c99; - l00000d10: - goto l00000d11; - l00000d11: - R8, Gamma_R8 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 12bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 12bv64)); - #7, Gamma_#7 := bvadd32(R8[32:0], 4294967294bv32), Gamma_R8; - VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#7, 1bv32)), bvadd33(sign_extend1_32(R8[32:0]), 8589934591bv33))), (Gamma_R8 && Gamma_#7); - CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#7, 1bv32)), bvadd33(zero_extend1_32(R8[32:0]), 4294967295bv33))), (Gamma_R8 && Gamma_#7); - ZF, Gamma_ZF := bvcomp32(bvadd32(#7, 1bv32), 0bv32), Gamma_#7; - NF, Gamma_NF := bvadd32(#7, 1bv32)[32:31], Gamma_#7; - R8, Gamma_R8 := zero_extend32_32(bvadd32(#7, 1bv32)), Gamma_#7; - assert Gamma_ZF; - if ((bvnot1(bvcomp1(ZF, 1bv1)) != 0bv1)) { - goto l00000d3a; - } - goto l00000d3d; - l00000d3d: - R8, Gamma_R8 := 1bv64, true; - goto l00000d40; - l00000d3a: - R8, Gamma_R8 := 0bv64, true; - goto l00000d40; - l00000d40: - assert Gamma_R8; - if ((bvcomp1(R8[1:0], 1bv1) != 0bv1)) { - goto l00000ccb; - } - goto l00000d4d; - l00000ccb: - R8, Gamma_R8 := 0bv64, true; - R8, Gamma_R8 := bvadd64(R8, 1828bv64), Gamma_R8; - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R8), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R8); - goto l00000c99; - l00000d4d: - goto l00000d4e; - l00000d4e: - R8, Gamma_R8 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 12bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 12bv64)); - #8, Gamma_#8 := bvadd32(R8[32:0], 4294967293bv32), Gamma_R8; - VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#8, 1bv32)), bvadd33(sign_extend1_32(R8[32:0]), 8589934590bv33))), (Gamma_R8 && Gamma_#8); - CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#8, 1bv32)), bvadd33(zero_extend1_32(R8[32:0]), 4294967294bv33))), (Gamma_R8 && Gamma_#8); - ZF, Gamma_ZF := bvcomp32(bvadd32(#8, 1bv32), 0bv32), Gamma_#8; - NF, Gamma_NF := bvadd32(#8, 1bv32)[32:31], Gamma_#8; - R8, Gamma_R8 := zero_extend32_32(bvadd32(#8, 1bv32)), Gamma_#8; - assert Gamma_ZF; - if ((bvnot1(bvcomp1(ZF, 1bv1)) != 0bv1)) { - goto l00000d77; - } - goto l00000d7a; - l00000d7a: - R8, Gamma_R8 := 1bv64, true; - goto l00000d7d; - l00000d77: - R8, Gamma_R8 := 0bv64, true; - goto l00000d7d; - l00000d7d: - assert Gamma_R8; - if ((bvcomp1(R8[1:0], 1bv1) != 0bv1)) { - goto l00000ce2; - } - goto l00000d8a; - l00000ce2: - R8, Gamma_R8 := 0bv64, true; - R8, Gamma_R8 := bvadd64(R8, 1844bv64), Gamma_R8; - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R8), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R8); - goto l00000c99; - l00000d8a: - goto l00000cf9; - l00000cf9: - R8, Gamma_R8 := 0bv64, true; - R8, Gamma_R8 := bvadd64(R8, 1812bv64), Gamma_R8; - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R8), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R8); - goto l00000c99; - l00000c99: - R8, Gamma_R8 := memory_load64_le(stack, bvadd64(R31, 16bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 16bv64)); - R30, Gamma_R30 := 2016bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l00000cab; - l00000cab: - R0, Gamma_R0 := 0bv64, true; - #6, Gamma_#6 := bvadd64(R31, 32bv64), Gamma_R31; - R29, Gamma_R29 := memory_load64_le(stack, #6), gamma_load64(Gamma_stack, #6); - R30, Gamma_R30 := memory_load64_le(stack, bvadd64(#6, 8bv64)), gamma_load64(Gamma_stack, bvadd64(#6, 8bv64)); - R31, Gamma_R31 := bvadd64(R31, 48bv64), Gamma_R31; - return; -} diff --git a/src/test/correct/functionpointer/clang_pic/functionpointer.expected b/src/test/correct/functionpointer/clang_pic/functionpointer.expected deleted file mode 100644 index 9b4c2ac56..000000000 --- a/src/test/correct/functionpointer/clang_pic/functionpointer.expected +++ /dev/null @@ -1,333 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R29: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_R8: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R29: bv64; -var R30: bv64; -var R31: bv64; -var R8: bv64; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -function L(memory: [bv64]bv8, index: bv64) returns (bool) { - false -} - -function {:bvbuiltin "bvadd"} bvadd32(bv32, bv32) returns (bv32); -function {:bvbuiltin "bvadd"} bvadd33(bv33, bv33) returns (bv33); -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function {:bvbuiltin "bvcomp"} bvcomp1(bv1, bv1) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp32(bv32, bv32) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp33(bv33, bv33) returns (bv1); -function {:bvbuiltin "bvnot"} bvnot1(bv1) returns (bv1); -function gamma_load32(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))) -} - -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load32_le(memory: [bv64]bv8, index: bv64) returns (bv32) { - (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))) -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -function {:bvbuiltin "sign_extend 1"} sign_extend1_32(bv32) returns (bv33); -function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); -function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); -procedure rely(); - modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_stack, R0, R29, R30, R31, R8, stack; - requires (Gamma_R0 == true); - free requires (memory_load8_le(mem, 2192bv64) == 1bv8); - free requires (memory_load8_le(mem, 2193bv64) == 0bv8); - free requires (memory_load8_le(mem, 2194bv64) == 2bv8); - free requires (memory_load8_le(mem, 2195bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 184bv8); - free requires (memory_load8_le(mem, 69529bv64) == 13bv8); - free requires (memory_load8_le(mem, 69530bv64) == 1bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 52bv8); - free requires (memory_load8_le(mem, 69553bv64) == 16bv8); - free requires (memory_load8_le(mem, 69554bv64) == 1bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 0bv8); - free requires (memory_load8_le(mem, 69561bv64) == 0bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 148bv8); - free requires (memory_load8_le(mem, 69569bv64) == 7bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 168bv8); - free requires (memory_load8_le(mem, 69577bv64) == 7bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 208bv8); - free requires (memory_load8_le(mem, 69585bv64) == 7bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 188bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 40bv8); - free requires (memory_load8_le(mem, 69673bv64) == 16bv8); - free requires (memory_load8_le(mem, 69674bv64) == 1bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); -{ - var #4: bv64; - var #5: bv32; - var #6: bv64; - var #7: bv32; - var #8: bv32; - var CF: bv1; - var Gamma_#4: bool; - var Gamma_#5: bool; - var Gamma_#6: bool; - var Gamma_#7: bool; - var Gamma_#8: bool; - var Gamma_CF: bool; - var Gamma_NF: bool; - var Gamma_VF: bool; - var Gamma_ZF: bool; - var NF: bv1; - var VF: bv1; - var ZF: bv1; - lmain: - R31, Gamma_R31 := bvadd64(R31, 18446744073709551568bv64), Gamma_R31; - #4, Gamma_#4 := bvadd64(R31, 32bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #4, R29), gamma_store64(Gamma_stack, #4, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#4, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#4, 8bv64), Gamma_R30); - R29, Gamma_R29 := bvadd64(R31, 32bv64), Gamma_R31; - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551612bv64), 0bv32), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551612bv64), true); - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551608bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551608bv64), Gamma_R0); - R8, Gamma_R8 := zero_extend32_32(memory_load32_le(stack, bvadd64(R29, 18446744073709551608bv64))), gamma_load32(Gamma_stack, bvadd64(R29, 18446744073709551608bv64)); - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 12bv64), R8[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 12bv64), Gamma_R8); - #5, Gamma_#5 := bvadd32(R8[32:0], 4294967295bv32), Gamma_R8; - VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#5, 1bv32)), bvadd33(sign_extend1_32(R8[32:0]), 0bv33))), (Gamma_R8 && Gamma_#5); - CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#5, 1bv32)), bvadd33(zero_extend1_32(R8[32:0]), 4294967296bv33))), (Gamma_R8 && Gamma_#5); - ZF, Gamma_ZF := bvcomp32(bvadd32(#5, 1bv32), 0bv32), Gamma_#5; - NF, Gamma_NF := bvadd32(#5, 1bv32)[32:31], Gamma_#5; - R8, Gamma_R8 := zero_extend32_32(bvadd32(#5, 1bv32)), Gamma_#5; - assert Gamma_ZF; - if ((bvnot1(bvcomp1(ZF, 1bv1)) != 0bv1)) { - goto l00000447; - } - goto l0000044a; - l0000044a: - R8, Gamma_R8 := 1bv64, true; - goto l0000044d; - l00000447: - R8, Gamma_R8 := 0bv64, true; - goto l0000044d; - l0000044d: - assert Gamma_R8; - if ((bvcomp1(R8[1:0], 1bv1) != 0bv1)) { - goto l00000455; - } - goto l000004e9; - l00000455: - R8, Gamma_R8 := 65536bv64, true; - R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R8, 4032bv64)), (gamma_load64(Gamma_mem, bvadd64(R8, 4032bv64)) || L(mem, bvadd64(R8, 4032bv64))); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R8), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R8); - goto l0000046f; - l000004e9: - goto l000004ea; - l000004ea: - R8, Gamma_R8 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 12bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 12bv64)); - #7, Gamma_#7 := bvadd32(R8[32:0], 4294967294bv32), Gamma_R8; - VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#7, 1bv32)), bvadd33(sign_extend1_32(R8[32:0]), 8589934591bv33))), (Gamma_R8 && Gamma_#7); - CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#7, 1bv32)), bvadd33(zero_extend1_32(R8[32:0]), 4294967295bv33))), (Gamma_R8 && Gamma_#7); - ZF, Gamma_ZF := bvcomp32(bvadd32(#7, 1bv32), 0bv32), Gamma_#7; - NF, Gamma_NF := bvadd32(#7, 1bv32)[32:31], Gamma_#7; - R8, Gamma_R8 := zero_extend32_32(bvadd32(#7, 1bv32)), Gamma_#7; - assert Gamma_ZF; - if ((bvnot1(bvcomp1(ZF, 1bv1)) != 0bv1)) { - goto l00000513; - } - goto l00000516; - l00000516: - R8, Gamma_R8 := 1bv64, true; - goto l00000519; - l00000513: - R8, Gamma_R8 := 0bv64, true; - goto l00000519; - l00000519: - assert Gamma_R8; - if ((bvcomp1(R8[1:0], 1bv1) != 0bv1)) { - goto l000004a1; - } - goto l00000526; - l000004a1: - R8, Gamma_R8 := 65536bv64, true; - R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R8, 4040bv64)), (gamma_load64(Gamma_mem, bvadd64(R8, 4040bv64)) || L(mem, bvadd64(R8, 4040bv64))); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R8), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R8); - goto l0000046f; - l00000526: - goto l00000527; - l00000527: - R8, Gamma_R8 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 12bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 12bv64)); - #8, Gamma_#8 := bvadd32(R8[32:0], 4294967293bv32), Gamma_R8; - VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#8, 1bv32)), bvadd33(sign_extend1_32(R8[32:0]), 8589934590bv33))), (Gamma_R8 && Gamma_#8); - CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#8, 1bv32)), bvadd33(zero_extend1_32(R8[32:0]), 4294967294bv33))), (Gamma_R8 && Gamma_#8); - ZF, Gamma_ZF := bvcomp32(bvadd32(#8, 1bv32), 0bv32), Gamma_#8; - NF, Gamma_NF := bvadd32(#8, 1bv32)[32:31], Gamma_#8; - R8, Gamma_R8 := zero_extend32_32(bvadd32(#8, 1bv32)), Gamma_#8; - assert Gamma_ZF; - if ((bvnot1(bvcomp1(ZF, 1bv1)) != 0bv1)) { - goto l00000550; - } - goto l00000553; - l00000553: - R8, Gamma_R8 := 1bv64, true; - goto l00000556; - l00000550: - R8, Gamma_R8 := 0bv64, true; - goto l00000556; - l00000556: - assert Gamma_R8; - if ((bvcomp1(R8[1:0], 1bv1) != 0bv1)) { - goto l000004b9; - } - goto l00000563; - l000004b9: - R8, Gamma_R8 := 65536bv64, true; - R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R8, 4056bv64)), (gamma_load64(Gamma_mem, bvadd64(R8, 4056bv64)) || L(mem, bvadd64(R8, 4056bv64))); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R8), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R8); - goto l0000046f; - l00000563: - goto l000004d1; - l000004d1: - R8, Gamma_R8 := 65536bv64, true; - R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R8, 4032bv64)), (gamma_load64(Gamma_mem, bvadd64(R8, 4032bv64)) || L(mem, bvadd64(R8, 4032bv64))); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R8), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R8); - goto l0000046f; - l0000046f: - R8, Gamma_R8 := memory_load64_le(stack, bvadd64(R31, 16bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 16bv64)); - R30, Gamma_R30 := 2156bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l00000481; - l00000481: - R0, Gamma_R0 := 0bv64, true; - #6, Gamma_#6 := bvadd64(R31, 32bv64), Gamma_R31; - R29, Gamma_R29 := memory_load64_le(stack, #6), gamma_load64(Gamma_stack, #6); - R30, Gamma_R30 := memory_load64_le(stack, bvadd64(#6, 8bv64)), gamma_load64(Gamma_stack, bvadd64(#6, 8bv64)); - R31, Gamma_R31 := bvadd64(R31, 48bv64), Gamma_R31; - return; -} diff --git a/src/test/correct/functionpointer/gcc/functionpointer.expected b/src/test/correct/functionpointer/gcc/functionpointer.expected deleted file mode 100644 index 14fbb855d..000000000 --- a/src/test/correct/functionpointer/gcc/functionpointer.expected +++ /dev/null @@ -1,318 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R29: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R29: bv64; -var R30: bv64; -var R31: bv64; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -function {:bvbuiltin "bvadd"} bvadd32(bv32, bv32) returns (bv32); -function {:bvbuiltin "bvadd"} bvadd33(bv33, bv33) returns (bv33); -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function {:bvbuiltin "bvand"} bvand1(bv1, bv1) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp1(bv1, bv1) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp32(bv32, bv32) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp33(bv33, bv33) returns (bv1); -function {:bvbuiltin "bvnot"} bvnot1(bv1) returns (bv1); -function gamma_load32(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))) -} - -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load32_le(memory: [bv64]bv8, index: bv64) returns (bv32) { - (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))) -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -function {:bvbuiltin "sign_extend 1"} sign_extend1_32(bv32) returns (bv33); -function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); -function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); -procedure rely(); - modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R29, R30, R31, stack; - requires (Gamma_R0 == true); - free requires (memory_load8_le(mem, 2052bv64) == 1bv8); - free requires (memory_load8_le(mem, 2053bv64) == 0bv8); - free requires (memory_load8_le(mem, 2054bv64) == 2bv8); - free requires (memory_load8_le(mem, 2055bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 92bv8); - free requires (memory_load8_le(mem, 69617bv64) == 7bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); - free requires (memory_load8_le(mem, 69640bv64) == 8bv8); - free requires (memory_load8_le(mem, 69641bv64) == 16bv8); - free requires (memory_load8_le(mem, 69642bv64) == 1bv8); - free requires (memory_load8_le(mem, 69643bv64) == 0bv8); - free requires (memory_load8_le(mem, 69644bv64) == 0bv8); - free requires (memory_load8_le(mem, 69645bv64) == 0bv8); - free requires (memory_load8_le(mem, 69646bv64) == 0bv8); - free requires (memory_load8_le(mem, 69647bv64) == 0bv8); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); -{ - var #4: bv64; - var #5: bv32; - var #6: bv32; - var #7: bv32; - var #8: bv32; - var CF: bv1; - var Gamma_#4: bool; - var Gamma_#5: bool; - var Gamma_#6: bool; - var Gamma_#7: bool; - var Gamma_#8: bool; - var Gamma_CF: bool; - var Gamma_NF: bool; - var Gamma_VF: bool; - var Gamma_ZF: bool; - var NF: bv1; - var VF: bv1; - var ZF: bv1; - lmain: - #4, Gamma_#4 := bvadd64(R31, 18446744073709551568bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #4, R29), gamma_store64(Gamma_stack, #4, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#4, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#4, 8bv64), Gamma_R30); - R31, Gamma_R31 := #4, Gamma_#4; - R29, Gamma_R29 := R31, Gamma_R31; - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 28bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 28bv64), Gamma_R0); - R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); - #5, Gamma_#5 := bvadd32(R0[32:0], 4294967293bv32), Gamma_R0; - VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#5, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934590bv33))), (Gamma_R0 && Gamma_#5); - CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#5, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967294bv33))), (Gamma_R0 && Gamma_#5); - ZF, Gamma_ZF := bvcomp32(bvadd32(#5, 1bv32), 0bv32), Gamma_#5; - NF, Gamma_NF := bvadd32(#5, 1bv32)[32:31], Gamma_#5; - assert Gamma_ZF; - if ((bvcomp1(ZF, 1bv1) != 0bv1)) { - goto l00000428; - } - goto l00000482; - l00000428: - R0, Gamma_R0 := 0bv64, true; - R0, Gamma_R0 := bvadd64(R0, 1860bv64), Gamma_R0; - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 40bv64), R0), gamma_store64(Gamma_stack, bvadd64(R31, 40bv64), Gamma_R0); - goto l00000441; - l00000482: - R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); - #6, Gamma_#6 := bvadd32(R0[32:0], 4294967293bv32), Gamma_R0; - VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#6, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934590bv33))), (Gamma_R0 && Gamma_#6); - CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#6, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967294bv33))), (Gamma_R0 && Gamma_#6); - ZF, Gamma_ZF := bvcomp32(bvadd32(#6, 1bv32), 0bv32), Gamma_#6; - NF, Gamma_NF := bvadd32(#6, 1bv32)[32:31], Gamma_#6; - assert (Gamma_ZF && (Gamma_VF && Gamma_NF)); - if ((bvand1(bvcomp1(NF, VF), bvcomp1(ZF, 0bv1)) != 0bv1)) { - goto l0000046d; - } - goto l000004aa; - l000004aa: - R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); - #7, Gamma_#7 := bvadd32(R0[32:0], 4294967295bv32), Gamma_R0; - VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#7, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 0bv33))), (Gamma_R0 && Gamma_#7); - CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#7, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967296bv33))), (Gamma_R0 && Gamma_#7); - ZF, Gamma_ZF := bvcomp32(bvadd32(#7, 1bv32), 0bv32), Gamma_#7; - NF, Gamma_NF := bvadd32(#7, 1bv32)[32:31], Gamma_#7; - assert Gamma_ZF; - if ((bvcomp1(ZF, 1bv1) != 0bv1)) { - goto l000004cb; - } - goto l000004fe; - l000004cb: - R0, Gamma_R0 := 0bv64, true; - R0, Gamma_R0 := bvadd64(R0, 1812bv64), Gamma_R0; - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 40bv64), R0), gamma_store64(Gamma_stack, bvadd64(R31, 40bv64), Gamma_R0); - goto l00000441; - l000004fe: - R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); - #8, Gamma_#8 := bvadd32(R0[32:0], 4294967294bv32), Gamma_R0; - VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#8, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934591bv33))), (Gamma_R0 && Gamma_#8); - CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#8, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967295bv33))), (Gamma_R0 && Gamma_#8); - ZF, Gamma_ZF := bvcomp32(bvadd32(#8, 1bv32), 0bv32), Gamma_#8; - NF, Gamma_NF := bvadd32(#8, 1bv32)[32:31], Gamma_#8; - assert Gamma_ZF; - if ((bvcomp1(ZF, 1bv1) != 0bv1)) { - goto l000004e7; - } - goto l00000524; - l000004e7: - R0, Gamma_R0 := 0bv64, true; - R0, Gamma_R0 := bvadd64(R0, 1836bv64), Gamma_R0; - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 40bv64), R0), gamma_store64(Gamma_stack, bvadd64(R31, 40bv64), Gamma_R0); - goto l00000441; - l00000524: - goto l0000046d; - l0000046d: - R0, Gamma_R0 := 0bv64, true; - R0, Gamma_R0 := bvadd64(R0, 1812bv64), Gamma_R0; - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 40bv64), R0), gamma_store64(Gamma_stack, bvadd64(R31, 40bv64), Gamma_R0); - goto l00000441; - l00000441: - R0, Gamma_R0 := memory_load64_le(stack, bvadd64(R31, 40bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 40bv64)); - R30, Gamma_R30 := 2020bv64, true; - //UNRESOLVED: call R0 - assume false; - goto l00000453; - l00000453: - R0, Gamma_R0 := 0bv64, true; - R29, Gamma_R29 := memory_load64_le(stack, R31), gamma_load64(Gamma_stack, R31); - R30, Gamma_R30 := memory_load64_le(stack, bvadd64(R31, 8bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 8bv64)); - R31, Gamma_R31 := bvadd64(R31, 48bv64), Gamma_R31; - return; -} diff --git a/src/test/correct/functionpointer/gcc_O2/functionpointer.expected b/src/test/correct/functionpointer/gcc_O2/functionpointer.expected deleted file mode 100644 index c03a49146..000000000 --- a/src/test/correct/functionpointer/gcc_O2/functionpointer.expected +++ /dev/null @@ -1,264 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R1: bool; -var Gamma_R29: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R1: bv64; -var R29: bv64; -var R30: bv64; -var R31: bv64; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -function {:bvbuiltin "bvadd"} bvadd32(bv32, bv32) returns (bv32); -function {:bvbuiltin "bvadd"} bvadd33(bv33, bv33) returns (bv33); -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function {:bvbuiltin "bvcomp"} bvcomp1(bv1, bv1) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp32(bv32, bv32) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp33(bv33, bv33) returns (bv1); -function {:bvbuiltin "bvnot"} bvnot1(bv1) returns (bv1); -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -function {:bvbuiltin "sign_extend 1"} sign_extend1_32(bv32) returns (bv33); -function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); -procedure rely(); - modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R1, R29, R30, R31, stack; - requires (Gamma_R0 == true); - free requires (memory_load8_le(mem, 2020bv64) == 1bv8); - free requires (memory_load8_le(mem, 2021bv64) == 0bv8); - free requires (memory_load8_le(mem, 2022bv64) == 2bv8); - free requires (memory_load8_le(mem, 2023bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 0bv8); - free requires (memory_load8_le(mem, 69617bv64) == 6bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); - free requires (memory_load8_le(mem, 69640bv64) == 8bv8); - free requires (memory_load8_le(mem, 69641bv64) == 16bv8); - free requires (memory_load8_le(mem, 69642bv64) == 1bv8); - free requires (memory_load8_le(mem, 69643bv64) == 0bv8); - free requires (memory_load8_le(mem, 69644bv64) == 0bv8); - free requires (memory_load8_le(mem, 69645bv64) == 0bv8); - free requires (memory_load8_le(mem, 69646bv64) == 0bv8); - free requires (memory_load8_le(mem, 69647bv64) == 0bv8); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); -{ - var #1: bv64; - var #2: bv32; - var #6: bv32; - var CF: bv1; - var Gamma_#1: bool; - var Gamma_#2: bool; - var Gamma_#6: bool; - var Gamma_CF: bool; - var Gamma_NF: bool; - var Gamma_VF: bool; - var Gamma_ZF: bool; - var NF: bv1; - var VF: bv1; - var ZF: bv1; - lmain: - #1, Gamma_#1 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #1, R29), gamma_store64(Gamma_stack, #1, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#1, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#1, 8bv64), Gamma_R30); - R31, Gamma_R31 := #1, Gamma_#1; - R29, Gamma_R29 := R31, Gamma_R31; - #2, Gamma_#2 := bvadd32(R0[32:0], 4294967294bv32), Gamma_R0; - VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#2, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934591bv33))), (Gamma_R0 && Gamma_#2); - CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#2, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967295bv33))), (Gamma_R0 && Gamma_#2); - ZF, Gamma_ZF := bvcomp32(bvadd32(#2, 1bv32), 0bv32), Gamma_#2; - NF, Gamma_NF := bvadd32(#2, 1bv32)[32:31], Gamma_#2; - assert Gamma_ZF; - if ((bvcomp1(ZF, 1bv1) != 0bv1)) { - goto l0000025a; - } - goto l000004b7; - l0000025a: - R0, Gamma_R0 := 0bv64, true; - R0, Gamma_R0 := bvadd64(R0, 1968bv64), Gamma_R0; - goto l0000026b; - l000004b7: - #6, Gamma_#6 := bvadd32(R0[32:0], 4294967293bv32), Gamma_R0; - VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#6, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934590bv33))), (Gamma_R0 && Gamma_#6); - CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#6, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967294bv33))), (Gamma_R0 && Gamma_#6); - ZF, Gamma_ZF := bvcomp32(bvadd32(#6, 1bv32), 0bv32), Gamma_#6; - NF, Gamma_NF := bvadd32(#6, 1bv32)[32:31], Gamma_#6; - R1, Gamma_R1 := 0bv64, true; - R0, Gamma_R0 := 0bv64, true; - R1, Gamma_R1 := bvadd64(R1, 1984bv64), Gamma_R1; - R0, Gamma_R0 := bvadd64(R0, 1952bv64), Gamma_R0; - assert Gamma_ZF; - if ((bvnot1(bvcomp1(ZF, 1bv1)) != 0bv1)) { - goto l000004e9; - } - goto l000004ed; - l000004ed: - R0, Gamma_R0 := R1, Gamma_R1; - goto l000004f0; - l000004e9: - R0, Gamma_R0 := R0, Gamma_R0; - goto l000004f0; - l000004f0: - goto l0000026b; - l0000026b: - R30, Gamma_R30 := 1580bv64, true; - //UNRESOLVED: call R0 - assume false; - goto l00000276; - l00000276: - R0, Gamma_R0 := 0bv64, true; - R29, Gamma_R29 := memory_load64_le(stack, R31), gamma_load64(Gamma_stack, R31); - R30, Gamma_R30 := memory_load64_le(stack, bvadd64(R31, 8bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 8bv64)); - R31, Gamma_R31 := bvadd64(R31, 16bv64), Gamma_R31; - return; -} diff --git a/src/test/correct/functionpointer/gcc_no_plt_no_pic/functionpointer.expected b/src/test/correct/functionpointer/gcc_no_plt_no_pic/functionpointer.expected deleted file mode 100644 index 564cfba48..000000000 --- a/src/test/correct/functionpointer/gcc_no_plt_no_pic/functionpointer.expected +++ /dev/null @@ -1,318 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R29: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R29: bv64; -var R30: bv64; -var R31: bv64; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -function {:bvbuiltin "bvadd"} bvadd32(bv32, bv32) returns (bv32); -function {:bvbuiltin "bvadd"} bvadd33(bv33, bv33) returns (bv33); -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function {:bvbuiltin "bvand"} bvand1(bv1, bv1) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp1(bv1, bv1) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp32(bv32, bv32) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp33(bv33, bv33) returns (bv1); -function {:bvbuiltin "bvnot"} bvnot1(bv1) returns (bv1); -function gamma_load32(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))) -} - -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load32_le(memory: [bv64]bv8, index: bv64) returns (bv32) { - (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))) -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -function {:bvbuiltin "sign_extend 1"} sign_extend1_32(bv32) returns (bv33); -function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); -function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); -procedure rely(); - modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R29, R30, R31, stack; - requires (Gamma_R0 == true); - free requires (memory_load8_le(mem, 2052bv64) == 1bv8); - free requires (memory_load8_le(mem, 2053bv64) == 0bv8); - free requires (memory_load8_le(mem, 2054bv64) == 2bv8); - free requires (memory_load8_le(mem, 2055bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 92bv8); - free requires (memory_load8_le(mem, 69617bv64) == 7bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); - free requires (memory_load8_le(mem, 69640bv64) == 8bv8); - free requires (memory_load8_le(mem, 69641bv64) == 16bv8); - free requires (memory_load8_le(mem, 69642bv64) == 1bv8); - free requires (memory_load8_le(mem, 69643bv64) == 0bv8); - free requires (memory_load8_le(mem, 69644bv64) == 0bv8); - free requires (memory_load8_le(mem, 69645bv64) == 0bv8); - free requires (memory_load8_le(mem, 69646bv64) == 0bv8); - free requires (memory_load8_le(mem, 69647bv64) == 0bv8); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); -{ - var #4: bv64; - var #5: bv32; - var #6: bv32; - var #7: bv32; - var #8: bv32; - var CF: bv1; - var Gamma_#4: bool; - var Gamma_#5: bool; - var Gamma_#6: bool; - var Gamma_#7: bool; - var Gamma_#8: bool; - var Gamma_CF: bool; - var Gamma_NF: bool; - var Gamma_VF: bool; - var Gamma_ZF: bool; - var NF: bv1; - var VF: bv1; - var ZF: bv1; - lmain: - #4, Gamma_#4 := bvadd64(R31, 18446744073709551568bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #4, R29), gamma_store64(Gamma_stack, #4, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#4, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#4, 8bv64), Gamma_R30); - R31, Gamma_R31 := #4, Gamma_#4; - R29, Gamma_R29 := R31, Gamma_R31; - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 28bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 28bv64), Gamma_R0); - R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); - #5, Gamma_#5 := bvadd32(R0[32:0], 4294967293bv32), Gamma_R0; - VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#5, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934590bv33))), (Gamma_R0 && Gamma_#5); - CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#5, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967294bv33))), (Gamma_R0 && Gamma_#5); - ZF, Gamma_ZF := bvcomp32(bvadd32(#5, 1bv32), 0bv32), Gamma_#5; - NF, Gamma_NF := bvadd32(#5, 1bv32)[32:31], Gamma_#5; - assert Gamma_ZF; - if ((bvcomp1(ZF, 1bv1) != 0bv1)) { - goto l00000c5c; - } - goto l00000cb6; - l00000c5c: - R0, Gamma_R0 := 0bv64, true; - R0, Gamma_R0 := bvadd64(R0, 1860bv64), Gamma_R0; - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 40bv64), R0), gamma_store64(Gamma_stack, bvadd64(R31, 40bv64), Gamma_R0); - goto l00000c75; - l00000cb6: - R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); - #6, Gamma_#6 := bvadd32(R0[32:0], 4294967293bv32), Gamma_R0; - VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#6, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934590bv33))), (Gamma_R0 && Gamma_#6); - CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#6, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967294bv33))), (Gamma_R0 && Gamma_#6); - ZF, Gamma_ZF := bvcomp32(bvadd32(#6, 1bv32), 0bv32), Gamma_#6; - NF, Gamma_NF := bvadd32(#6, 1bv32)[32:31], Gamma_#6; - assert (Gamma_ZF && (Gamma_VF && Gamma_NF)); - if ((bvand1(bvcomp1(NF, VF), bvcomp1(ZF, 0bv1)) != 0bv1)) { - goto l00000ca1; - } - goto l00000cde; - l00000cde: - R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); - #7, Gamma_#7 := bvadd32(R0[32:0], 4294967295bv32), Gamma_R0; - VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#7, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 0bv33))), (Gamma_R0 && Gamma_#7); - CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#7, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967296bv33))), (Gamma_R0 && Gamma_#7); - ZF, Gamma_ZF := bvcomp32(bvadd32(#7, 1bv32), 0bv32), Gamma_#7; - NF, Gamma_NF := bvadd32(#7, 1bv32)[32:31], Gamma_#7; - assert Gamma_ZF; - if ((bvcomp1(ZF, 1bv1) != 0bv1)) { - goto l00000cff; - } - goto l00000d32; - l00000cff: - R0, Gamma_R0 := 0bv64, true; - R0, Gamma_R0 := bvadd64(R0, 1812bv64), Gamma_R0; - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 40bv64), R0), gamma_store64(Gamma_stack, bvadd64(R31, 40bv64), Gamma_R0); - goto l00000c75; - l00000d32: - R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); - #8, Gamma_#8 := bvadd32(R0[32:0], 4294967294bv32), Gamma_R0; - VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#8, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934591bv33))), (Gamma_R0 && Gamma_#8); - CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#8, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967295bv33))), (Gamma_R0 && Gamma_#8); - ZF, Gamma_ZF := bvcomp32(bvadd32(#8, 1bv32), 0bv32), Gamma_#8; - NF, Gamma_NF := bvadd32(#8, 1bv32)[32:31], Gamma_#8; - assert Gamma_ZF; - if ((bvcomp1(ZF, 1bv1) != 0bv1)) { - goto l00000d1b; - } - goto l00000d58; - l00000d1b: - R0, Gamma_R0 := 0bv64, true; - R0, Gamma_R0 := bvadd64(R0, 1836bv64), Gamma_R0; - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 40bv64), R0), gamma_store64(Gamma_stack, bvadd64(R31, 40bv64), Gamma_R0); - goto l00000c75; - l00000d58: - goto l00000ca1; - l00000ca1: - R0, Gamma_R0 := 0bv64, true; - R0, Gamma_R0 := bvadd64(R0, 1812bv64), Gamma_R0; - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 40bv64), R0), gamma_store64(Gamma_stack, bvadd64(R31, 40bv64), Gamma_R0); - goto l00000c75; - l00000c75: - R0, Gamma_R0 := memory_load64_le(stack, bvadd64(R31, 40bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 40bv64)); - R30, Gamma_R30 := 2020bv64, true; - //UNRESOLVED: call R0 - assume false; - goto l00000c87; - l00000c87: - R0, Gamma_R0 := 0bv64, true; - R29, Gamma_R29 := memory_load64_le(stack, R31), gamma_load64(Gamma_stack, R31); - R30, Gamma_R30 := memory_load64_le(stack, bvadd64(R31, 8bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 8bv64)); - R31, Gamma_R31 := bvadd64(R31, 48bv64), Gamma_R31; - return; -} diff --git a/src/test/correct/functionpointer/gcc_pic/functionpointer.expected b/src/test/correct/functionpointer/gcc_pic/functionpointer.expected deleted file mode 100644 index 03172bfdb..000000000 --- a/src/test/correct/functionpointer/gcc_pic/functionpointer.expected +++ /dev/null @@ -1,354 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R29: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R29: bv64; -var R30: bv64; -var R31: bv64; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -function L(memory: [bv64]bv8, index: bv64) returns (bool) { - false -} - -function {:bvbuiltin "bvadd"} bvadd32(bv32, bv32) returns (bv32); -function {:bvbuiltin "bvadd"} bvadd33(bv33, bv33) returns (bv33); -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function {:bvbuiltin "bvand"} bvand1(bv1, bv1) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp1(bv1, bv1) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp32(bv32, bv32) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp33(bv33, bv33) returns (bv1); -function {:bvbuiltin "bvnot"} bvnot1(bv1) returns (bv1); -function gamma_load32(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))) -} - -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load32_le(memory: [bv64]bv8, index: bv64) returns (bv32) { - (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))) -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -function {:bvbuiltin "sign_extend 1"} sign_extend1_32(bv32) returns (bv33); -function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); -function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); -procedure rely(); - modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R29, R30, R31, stack; - requires (Gamma_R0 == true); - free requires (memory_load8_le(mem, 2180bv64) == 1bv8); - free requires (memory_load8_le(mem, 2181bv64) == 0bv8); - free requires (memory_load8_le(mem, 2182bv64) == 2bv8); - free requires (memory_load8_le(mem, 2183bv64) == 0bv8); - free requires (memory_load8_le(mem, 69496bv64) == 0bv8); - free requires (memory_load8_le(mem, 69497bv64) == 0bv8); - free requires (memory_load8_le(mem, 69498bv64) == 0bv8); - free requires (memory_load8_le(mem, 69499bv64) == 0bv8); - free requires (memory_load8_le(mem, 69500bv64) == 0bv8); - free requires (memory_load8_le(mem, 69501bv64) == 0bv8); - free requires (memory_load8_le(mem, 69502bv64) == 0bv8); - free requires (memory_load8_le(mem, 69503bv64) == 0bv8); - free requires (memory_load8_le(mem, 69504bv64) == 0bv8); - free requires (memory_load8_le(mem, 69505bv64) == 0bv8); - free requires (memory_load8_le(mem, 69506bv64) == 0bv8); - free requires (memory_load8_le(mem, 69507bv64) == 0bv8); - free requires (memory_load8_le(mem, 69508bv64) == 0bv8); - free requires (memory_load8_le(mem, 69509bv64) == 0bv8); - free requires (memory_load8_le(mem, 69510bv64) == 0bv8); - free requires (memory_load8_le(mem, 69511bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 6bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 6bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 6bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 6bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 136bv8); - free requires (memory_load8_le(mem, 69553bv64) == 13bv8); - free requires (memory_load8_le(mem, 69554bv64) == 1bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 0bv8); - free requires (memory_load8_le(mem, 69561bv64) == 0bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 20bv8); - free requires (memory_load8_le(mem, 69577bv64) == 16bv8); - free requires (memory_load8_le(mem, 69578bv64) == 1bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 148bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 172bv8); - free requires (memory_load8_le(mem, 69601bv64) == 7bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 220bv8); - free requires (memory_load8_le(mem, 69609bv64) == 7bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 196bv8); - free requires (memory_load8_le(mem, 69617bv64) == 7bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); - free requires (memory_load8_le(mem, 69640bv64) == 8bv8); - free requires (memory_load8_le(mem, 69641bv64) == 16bv8); - free requires (memory_load8_le(mem, 69642bv64) == 1bv8); - free requires (memory_load8_le(mem, 69643bv64) == 0bv8); - free requires (memory_load8_le(mem, 69644bv64) == 0bv8); - free requires (memory_load8_le(mem, 69645bv64) == 0bv8); - free requires (memory_load8_le(mem, 69646bv64) == 0bv8); - free requires (memory_load8_le(mem, 69647bv64) == 0bv8); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); -{ - var #4: bv64; - var #5: bv32; - var #6: bv32; - var #7: bv32; - var #8: bv32; - var CF: bv1; - var Gamma_#4: bool; - var Gamma_#5: bool; - var Gamma_#6: bool; - var Gamma_#7: bool; - var Gamma_#8: bool; - var Gamma_CF: bool; - var Gamma_NF: bool; - var Gamma_VF: bool; - var Gamma_ZF: bool; - var NF: bv1; - var VF: bv1; - var ZF: bv1; - lmain: - #4, Gamma_#4 := bvadd64(R31, 18446744073709551568bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #4, R29), gamma_store64(Gamma_stack, #4, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#4, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#4, 8bv64), Gamma_R30); - R31, Gamma_R31 := #4, Gamma_#4; - R29, Gamma_R29 := R31, Gamma_R31; - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 28bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 28bv64), Gamma_R0); - R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); - #5, Gamma_#5 := bvadd32(R0[32:0], 4294967293bv32), Gamma_R0; - VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#5, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934590bv33))), (Gamma_R0 && Gamma_#5); - CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#5, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967294bv33))), (Gamma_R0 && Gamma_#5); - ZF, Gamma_ZF := bvcomp32(bvadd32(#5, 1bv32), 0bv32), Gamma_#5; - NF, Gamma_NF := bvadd32(#5, 1bv32)[32:31], Gamma_#5; - assert Gamma_ZF; - if ((bvcomp1(ZF, 1bv1) != 0bv1)) { - goto l0000042b; - } - goto l00000487; - l0000042b: - R0, Gamma_R0 := 65536bv64, true; - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4080bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4080bv64)) || L(mem, bvadd64(R0, 4080bv64))); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 40bv64), R0), gamma_store64(Gamma_stack, bvadd64(R31, 40bv64), Gamma_R0); - goto l00000445; - l00000487: - R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); - #6, Gamma_#6 := bvadd32(R0[32:0], 4294967293bv32), Gamma_R0; - VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#6, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934590bv33))), (Gamma_R0 && Gamma_#6); - CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#6, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967294bv33))), (Gamma_R0 && Gamma_#6); - ZF, Gamma_ZF := bvcomp32(bvadd32(#6, 1bv32), 0bv32), Gamma_#6; - NF, Gamma_NF := bvadd32(#6, 1bv32)[32:31], Gamma_#6; - assert (Gamma_ZF && (Gamma_VF && Gamma_NF)); - if ((bvand1(bvcomp1(NF, VF), bvcomp1(ZF, 0bv1)) != 0bv1)) { - goto l00000471; - } - goto l000004af; - l000004af: - R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); - #7, Gamma_#7 := bvadd32(R0[32:0], 4294967295bv32), Gamma_R0; - VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#7, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 0bv33))), (Gamma_R0 && Gamma_#7); - CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#7, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967296bv33))), (Gamma_R0 && Gamma_#7); - ZF, Gamma_ZF := bvcomp32(bvadd32(#7, 1bv32), 0bv32), Gamma_#7; - NF, Gamma_NF := bvadd32(#7, 1bv32)[32:31], Gamma_#7; - assert Gamma_ZF; - if ((bvcomp1(ZF, 1bv1) != 0bv1)) { - goto l000004d0; - } - goto l00000505; - l000004d0: - R0, Gamma_R0 := 65536bv64, true; - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4056bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4056bv64)) || L(mem, bvadd64(R0, 4056bv64))); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 40bv64), R0), gamma_store64(Gamma_stack, bvadd64(R31, 40bv64), Gamma_R0); - goto l00000445; - l00000505: - R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); - #8, Gamma_#8 := bvadd32(R0[32:0], 4294967294bv32), Gamma_R0; - VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#8, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934591bv33))), (Gamma_R0 && Gamma_#8); - CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#8, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967295bv33))), (Gamma_R0 && Gamma_#8); - ZF, Gamma_ZF := bvcomp32(bvadd32(#8, 1bv32), 0bv32), Gamma_#8; - NF, Gamma_NF := bvadd32(#8, 1bv32)[32:31], Gamma_#8; - assert Gamma_ZF; - if ((bvcomp1(ZF, 1bv1) != 0bv1)) { - goto l000004ed; - } - goto l0000052b; - l000004ed: - R0, Gamma_R0 := 65536bv64, true; - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4064bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4064bv64)) || L(mem, bvadd64(R0, 4064bv64))); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 40bv64), R0), gamma_store64(Gamma_stack, bvadd64(R31, 40bv64), Gamma_R0); - goto l00000445; - l0000052b: - goto l00000471; - l00000471: - R0, Gamma_R0 := 65536bv64, true; - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4056bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4056bv64)) || L(mem, bvadd64(R0, 4056bv64))); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 40bv64), R0), gamma_store64(Gamma_stack, bvadd64(R31, 40bv64), Gamma_R0); - goto l00000445; - l00000445: - R0, Gamma_R0 := memory_load64_le(stack, bvadd64(R31, 40bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 40bv64)); - R30, Gamma_R30 := 2148bv64, true; - //UNRESOLVED: call R0 - assume false; - goto l00000457; - l00000457: - R0, Gamma_R0 := 0bv64, true; - R29, Gamma_R29 := memory_load64_le(stack, R31), gamma_load64(Gamma_stack, R31); - R30, Gamma_R30 := memory_load64_le(stack, bvadd64(R31, 8bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 8bv64)); - R31, Gamma_R31 := bvadd64(R31, 48bv64), Gamma_R31; - return; -} diff --git a/src/test/correct/functions_with_params/clang/functions_with_params.expected b/src/test/correct/functions_with_params/clang/functions_with_params.expected index 7ea0d17bc..0e6996001 100644 --- a/src/test/correct/functions_with_params/clang/functions_with_params.expected +++ b/src/test/correct/functions_with_params/clang/functions_with_params.expected @@ -55,9 +55,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1912bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1913bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1914bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1915bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -75,42 +110,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_stack, R0, R29, R30, R31, R8, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1912bv64) == 1bv8); free requires (memory_load8_le(mem, 1913bv64) == 0bv8); free requires (memory_load8_le(mem, 1914bv64) == 2bv8); free requires (memory_load8_le(mem, 1915bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -119,22 +154,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -147,6 +166,42 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1912bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1913bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1914bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1915bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv64; var #5: bv64; @@ -178,8 +233,80 @@ procedure main() procedure plus_one() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_stack, R0, R31, R8, stack; + free requires (memory_load8_le(mem, 1912bv64) == 1bv8); + free requires (memory_load8_le(mem, 1913bv64) == 0bv8); + free requires (memory_load8_le(mem, 1914bv64) == 2bv8); + free requires (memory_load8_le(mem, 1915bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1912bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1913bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1914bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1915bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { lplus_one: R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; diff --git a/src/test/correct/functions_with_params/clang_no_plt_no_pic/functions_with_params.expected b/src/test/correct/functions_with_params/clang_no_plt_no_pic/functions_with_params.expected index b7cbe6a26..e77771362 100644 --- a/src/test/correct/functions_with_params/clang_no_plt_no_pic/functions_with_params.expected +++ b/src/test/correct/functions_with_params/clang_no_plt_no_pic/functions_with_params.expected @@ -55,9 +55,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1912bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1913bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1914bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1915bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -75,42 +110,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_stack, R0, R29, R30, R31, R8, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1912bv64) == 1bv8); free requires (memory_load8_le(mem, 1913bv64) == 0bv8); free requires (memory_load8_le(mem, 1914bv64) == 2bv8); free requires (memory_load8_le(mem, 1915bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -119,22 +154,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -147,6 +166,42 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1912bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1913bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1914bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1915bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv64; var #5: bv64; @@ -178,8 +233,80 @@ procedure main() procedure plus_one() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_stack, R0, R31, R8, stack; + free requires (memory_load8_le(mem, 1912bv64) == 1bv8); + free requires (memory_load8_le(mem, 1913bv64) == 0bv8); + free requires (memory_load8_le(mem, 1914bv64) == 2bv8); + free requires (memory_load8_le(mem, 1915bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1912bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1913bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1914bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1915bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { lplus_one: R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; diff --git a/src/test/correct/functions_with_params/clang_pic/functions_with_params.expected b/src/test/correct/functions_with_params/clang_pic/functions_with_params.expected index b7cbe6a26..e77771362 100644 --- a/src/test/correct/functions_with_params/clang_pic/functions_with_params.expected +++ b/src/test/correct/functions_with_params/clang_pic/functions_with_params.expected @@ -55,9 +55,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1912bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1913bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1914bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1915bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -75,42 +110,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_stack, R0, R29, R30, R31, R8, stack; + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1912bv64) == 1bv8); free requires (memory_load8_le(mem, 1913bv64) == 0bv8); free requires (memory_load8_le(mem, 1914bv64) == 2bv8); free requires (memory_load8_le(mem, 1915bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -119,22 +154,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -147,6 +166,42 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1912bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1913bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1914bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1915bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { var #4: bv64; var #5: bv64; @@ -178,8 +233,80 @@ procedure main() procedure plus_one() modifies Gamma_R0, Gamma_R31, Gamma_R8, Gamma_stack, R0, R31, R8, stack; + free requires (memory_load8_le(mem, 1912bv64) == 1bv8); + free requires (memory_load8_le(mem, 1913bv64) == 0bv8); + free requires (memory_load8_le(mem, 1914bv64) == 2bv8); + free requires (memory_load8_le(mem, 1915bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1912bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1913bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1914bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1915bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { lplus_one: R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; diff --git a/src/test/correct/functions_with_params/gcc/functions_with_params.expected b/src/test/correct/functions_with_params/gcc/functions_with_params.expected index 0ae1d63b5..ad0e68d25 100644 --- a/src/test/correct/functions_with_params/gcc/functions_with_params.expected +++ b/src/test/correct/functions_with_params/gcc/functions_with_params.expected @@ -53,9 +53,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1904bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1905bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1906bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1907bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -73,98 +108,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R29, R30, R31, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1904bv64) == 1bv8); free requires (memory_load8_le(mem, 1905bv64) == 0bv8); free requires (memory_load8_le(mem, 1906bv64) == 2bv8); free requires (memory_load8_le(mem, 1907bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -173,22 +152,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -201,6 +164,42 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1904bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1905bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1906bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1907bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -229,8 +228,80 @@ procedure main() procedure plus_one() modifies Gamma_R0, Gamma_R31, Gamma_stack, R0, R31, stack; + free requires (memory_load8_le(mem, 1904bv64) == 1bv8); + free requires (memory_load8_le(mem, 1905bv64) == 0bv8); + free requires (memory_load8_le(mem, 1906bv64) == 2bv8); + free requires (memory_load8_le(mem, 1907bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1904bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1905bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1906bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1907bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lplus_one: R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; diff --git a/src/test/correct/functions_with_params/gcc_no_plt_no_pic/functions_with_params.expected b/src/test/correct/functions_with_params/gcc_no_plt_no_pic/functions_with_params.expected index bb9e11b8e..b203701ce 100644 --- a/src/test/correct/functions_with_params/gcc_no_plt_no_pic/functions_with_params.expected +++ b/src/test/correct/functions_with_params/gcc_no_plt_no_pic/functions_with_params.expected @@ -53,9 +53,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1904bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1905bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1906bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1907bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -73,98 +108,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R29, R30, R31, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1904bv64) == 1bv8); free requires (memory_load8_le(mem, 1905bv64) == 0bv8); free requires (memory_load8_le(mem, 1906bv64) == 2bv8); free requires (memory_load8_le(mem, 1907bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -173,22 +152,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -201,6 +164,42 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1904bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1905bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1906bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1907bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -229,8 +228,80 @@ procedure main() procedure plus_one() modifies Gamma_R0, Gamma_R31, Gamma_stack, R0, R31, stack; + free requires (memory_load8_le(mem, 1904bv64) == 1bv8); + free requires (memory_load8_le(mem, 1905bv64) == 0bv8); + free requires (memory_load8_le(mem, 1906bv64) == 2bv8); + free requires (memory_load8_le(mem, 1907bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1904bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1905bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1906bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1907bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lplus_one: R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; diff --git a/src/test/correct/functions_with_params/gcc_pic/functions_with_params.expected b/src/test/correct/functions_with_params/gcc_pic/functions_with_params.expected index bb9e11b8e..b203701ce 100644 --- a/src/test/correct/functions_with_params/gcc_pic/functions_with_params.expected +++ b/src/test/correct/functions_with_params/gcc_pic/functions_with_params.expected @@ -53,9 +53,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1904bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1905bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1906bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1907bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -73,98 +108,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R29, R30, R31, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1904bv64) == 1bv8); free requires (memory_load8_le(mem, 1905bv64) == 0bv8); free requires (memory_load8_le(mem, 1906bv64) == 2bv8); free requires (memory_load8_le(mem, 1907bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -173,22 +152,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -201,6 +164,42 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1904bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1905bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1906bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1907bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -229,8 +228,80 @@ procedure main() procedure plus_one() modifies Gamma_R0, Gamma_R31, Gamma_stack, R0, R31, stack; + free requires (memory_load8_le(mem, 1904bv64) == 1bv8); + free requires (memory_load8_le(mem, 1905bv64) == 0bv8); + free requires (memory_load8_le(mem, 1906bv64) == 2bv8); + free requires (memory_load8_le(mem, 1907bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1904bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1905bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1906bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1907bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lplus_one: R31, Gamma_R31 := bvadd64(R31, 18446744073709551600bv64), Gamma_R31; diff --git a/src/test/correct/indirect_call/clang/indirect_call.expected b/src/test/correct/indirect_call/clang/indirect_call.expected deleted file mode 100644 index b5c23c12e..000000000 --- a/src/test/correct/indirect_call/clang/indirect_call.expected +++ /dev/null @@ -1,235 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R16: bool; -var Gamma_R17: bool; -var Gamma_R29: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_R8: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R16: bv64; -var R17: bv64; -var R29: bv64; -var R30: bv64; -var R31: bv64; -var R8: bv64; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -const $_IO_stdin_used_addr: bv64; -axiom ($_IO_stdin_used_addr == 1996bv64); -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function gamma_load32(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))) -} - -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load32_le(memory: [bv64]bv8, index: bv64) returns (bv32) { - (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))) -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); -procedure rely(); - modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R0, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_stack, R0, R16, R17, R29, R30, R31, R8, stack; - free requires (memory_load8_le(mem, 1996bv64) == 1bv8); - free requires (memory_load8_le(mem, 1997bv64) == 0bv8); - free requires (memory_load8_le(mem, 1998bv64) == 2bv8); - free requires (memory_load8_le(mem, 1999bv64) == 0bv8); - free requires (memory_load8_le(mem, 2000bv64) == 72bv8); - free requires (memory_load8_le(mem, 2001bv64) == 101bv8); - free requires (memory_load8_le(mem, 2002bv64) == 108bv8); - free requires (memory_load8_le(mem, 2003bv64) == 108bv8); - free requires (memory_load8_le(mem, 2004bv64) == 111bv8); - free requires (memory_load8_le(mem, 2005bv64) == 44bv8); - free requires (memory_load8_le(mem, 2006bv64) == 32bv8); - free requires (memory_load8_le(mem, 2007bv64) == 119bv8); - free requires (memory_load8_le(mem, 2008bv64) == 111bv8); - free requires (memory_load8_le(mem, 2009bv64) == 114bv8); - free requires (memory_load8_le(mem, 2010bv64) == 108bv8); - free requires (memory_load8_le(mem, 2011bv64) == 100bv8); - free requires (memory_load8_le(mem, 2012bv64) == 33bv8); - free requires (memory_load8_le(mem, 2013bv64) == 10bv8); - free requires (memory_load8_le(mem, 2014bv64) == 0bv8); - free requires (memory_load8_le(mem, 2015bv64) == 67bv8); - free requires (memory_load8_le(mem, 2016bv64) == 97bv8); - free requires (memory_load8_le(mem, 2017bv64) == 108bv8); - free requires (memory_load8_le(mem, 2018bv64) == 108bv8); - free requires (memory_load8_le(mem, 2019bv64) == 105bv8); - free requires (memory_load8_le(mem, 2020bv64) == 110bv8); - free requires (memory_load8_le(mem, 2021bv64) == 103bv8); - free requires (memory_load8_le(mem, 2022bv64) == 32bv8); - free requires (memory_load8_le(mem, 2023bv64) == 103bv8); - free requires (memory_load8_le(mem, 2024bv64) == 114bv8); - free requires (memory_load8_le(mem, 2025bv64) == 101bv8); - free requires (memory_load8_le(mem, 2026bv64) == 101bv8); - free requires (memory_load8_le(mem, 2027bv64) == 116bv8); - free requires (memory_load8_le(mem, 2028bv64) == 40bv8); - free requires (memory_load8_le(mem, 2029bv64) == 41bv8); - free requires (memory_load8_le(mem, 2030bv64) == 32bv8); - free requires (memory_load8_le(mem, 2031bv64) == 105bv8); - free requires (memory_load8_le(mem, 2032bv64) == 110bv8); - free requires (memory_load8_le(mem, 2033bv64) == 100bv8); - free requires (memory_load8_le(mem, 2034bv64) == 105bv8); - free requires (memory_load8_le(mem, 2035bv64) == 114bv8); - free requires (memory_load8_le(mem, 2036bv64) == 101bv8); - free requires (memory_load8_le(mem, 2037bv64) == 99bv8); - free requires (memory_load8_le(mem, 2038bv64) == 116bv8); - free requires (memory_load8_le(mem, 2039bv64) == 108bv8); - free requires (memory_load8_le(mem, 2040bv64) == 121bv8); - free requires (memory_load8_le(mem, 2041bv64) == 58bv8); - free requires (memory_load8_le(mem, 2042bv64) == 10bv8); - free requires (memory_load8_le(mem, 2043bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 112bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 0bv8); - free requires (memory_load8_le(mem, 69673bv64) == 0bv8); - free requires (memory_load8_le(mem, 69674bv64) == 0bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free requires (memory_load8_le(mem, 69680bv64) == 48bv8); - free requires (memory_load8_le(mem, 69681bv64) == 16bv8); - free requires (memory_load8_le(mem, 69682bv64) == 1bv8); - free requires (memory_load8_le(mem, 69683bv64) == 0bv8); - free requires (memory_load8_le(mem, 69684bv64) == 0bv8); - free requires (memory_load8_le(mem, 69685bv64) == 0bv8); - free requires (memory_load8_le(mem, 69686bv64) == 0bv8); - free requires (memory_load8_le(mem, 69687bv64) == 0bv8); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); -{ - var #5: bv64; - var #6: bv64; - var Gamma_#5: bool; - var Gamma_#6: bool; - lmain: - R31, Gamma_R31 := bvadd64(R31, 18446744073709551568bv64), Gamma_R31; - #5, Gamma_#5 := bvadd64(R31, 32bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #5, R29), gamma_store64(Gamma_stack, #5, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#5, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#5, 8bv64), Gamma_R30); - R29, Gamma_R29 := bvadd64(R31, 32bv64), Gamma_R31; - R8, Gamma_R8 := 0bv64, true; - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 12bv64), R8[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 12bv64), Gamma_R8); - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551612bv64), 0bv32), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551612bv64), true); - R8, Gamma_R8 := 0bv64, true; - R8, Gamma_R8 := bvadd64(R8, 1876bv64), Gamma_R8; - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R8), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R8); - R0, Gamma_R0 := 0bv64, true; - R0, Gamma_R0 := bvadd64(R0, 2015bv64), Gamma_R0; - R30, Gamma_R30 := 1952bv64, true; - call printf(); - goto l000003a9; - l000003a9: - R8, Gamma_R8 := memory_load64_le(stack, bvadd64(R31, 16bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 16bv64)); - R30, Gamma_R30 := 1960bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l000003b8; - l000003b8: - R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 12bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 12bv64)); - #6, Gamma_#6 := bvadd64(R31, 32bv64), Gamma_R31; - R29, Gamma_R29 := memory_load64_le(stack, #6), gamma_load64(Gamma_stack, #6); - R30, Gamma_R30 := memory_load64_le(stack, bvadd64(#6, 8bv64)), gamma_load64(Gamma_stack, bvadd64(#6, 8bv64)); - R31, Gamma_R31 := bvadd64(R31, 48bv64), Gamma_R31; - return; -} - -procedure printf(); - modifies Gamma_R16, Gamma_R17, R16, R17; diff --git a/src/test/correct/indirect_call/clang_O2/indirect_call.expected b/src/test/correct/indirect_call/clang_O2/indirect_call.expected index 0022a046e..ace132e9a 100644 --- a/src/test/correct/indirect_call/clang_O2/indirect_call.expected +++ b/src/test/correct/indirect_call/clang_O2/indirect_call.expected @@ -39,9 +39,86 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1952bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1953bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1954bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1955bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1956bv64) == 72bv8); + free ensures (memory_load8_le(mem, 1957bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1958bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1959bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1960bv64) == 111bv8); + free ensures (memory_load8_le(mem, 1961bv64) == 44bv8); + free ensures (memory_load8_le(mem, 1962bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1963bv64) == 119bv8); + free ensures (memory_load8_le(mem, 1964bv64) == 111bv8); + free ensures (memory_load8_le(mem, 1965bv64) == 114bv8); + free ensures (memory_load8_le(mem, 1966bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1967bv64) == 100bv8); + free ensures (memory_load8_le(mem, 1968bv64) == 33bv8); + free ensures (memory_load8_le(mem, 1969bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1970bv64) == 67bv8); + free ensures (memory_load8_le(mem, 1971bv64) == 97bv8); + free ensures (memory_load8_le(mem, 1972bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1973bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1974bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1975bv64) == 110bv8); + free ensures (memory_load8_le(mem, 1976bv64) == 103bv8); + free ensures (memory_load8_le(mem, 1977bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1978bv64) == 103bv8); + free ensures (memory_load8_le(mem, 1979bv64) == 114bv8); + free ensures (memory_load8_le(mem, 1980bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1981bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1982bv64) == 116bv8); + free ensures (memory_load8_le(mem, 1983bv64) == 40bv8); + free ensures (memory_load8_le(mem, 1984bv64) == 41bv8); + free ensures (memory_load8_le(mem, 1985bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1986bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1987bv64) == 110bv8); + free ensures (memory_load8_le(mem, 1988bv64) == 100bv8); + free ensures (memory_load8_le(mem, 1989bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1990bv64) == 114bv8); + free ensures (memory_load8_le(mem, 1991bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1992bv64) == 99bv8); + free ensures (memory_load8_le(mem, 1993bv64) == 116bv8); + free ensures (memory_load8_le(mem, 1994bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1995bv64) == 121bv8); + free ensures (memory_load8_le(mem, 1996bv64) == 58bv8); + free ensures (memory_load8_le(mem, 1997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 96bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -59,6 +136,22 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R16, R17, R29, R30, R31, stack; + free requires (memory_load8_le(mem, 69672bv64) == 0bv8); + free requires (memory_load8_le(mem, 69673bv64) == 0bv8); + free requires (memory_load8_le(mem, 69674bv64) == 0bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); free requires (memory_load8_le(mem, 1952bv64) == 1bv8); free requires (memory_load8_le(mem, 1953bv64) == 0bv8); free requires (memory_load8_le(mem, 1954bv64) == 2bv8); @@ -105,38 +198,22 @@ procedure main() free requires (memory_load8_le(mem, 1995bv64) == 121bv8); free requires (memory_load8_le(mem, 1996bv64) == 58bv8); free requires (memory_load8_le(mem, 1997bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 96bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -145,22 +222,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 0bv8); - free requires (memory_load8_le(mem, 69673bv64) == 0bv8); - free requires (memory_load8_le(mem, 69674bv64) == 0bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 69680bv64) == 48bv8); free requires (memory_load8_le(mem, 69681bv64) == 16bv8); free requires (memory_load8_le(mem, 69682bv64) == 1bv8); @@ -173,6 +234,84 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1952bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1953bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1954bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1955bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1956bv64) == 72bv8); + free ensures (memory_load8_le(mem, 1957bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1958bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1959bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1960bv64) == 111bv8); + free ensures (memory_load8_le(mem, 1961bv64) == 44bv8); + free ensures (memory_load8_le(mem, 1962bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1963bv64) == 119bv8); + free ensures (memory_load8_le(mem, 1964bv64) == 111bv8); + free ensures (memory_load8_le(mem, 1965bv64) == 114bv8); + free ensures (memory_load8_le(mem, 1966bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1967bv64) == 100bv8); + free ensures (memory_load8_le(mem, 1968bv64) == 33bv8); + free ensures (memory_load8_le(mem, 1969bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1970bv64) == 67bv8); + free ensures (memory_load8_le(mem, 1971bv64) == 97bv8); + free ensures (memory_load8_le(mem, 1972bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1973bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1974bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1975bv64) == 110bv8); + free ensures (memory_load8_le(mem, 1976bv64) == 103bv8); + free ensures (memory_load8_le(mem, 1977bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1978bv64) == 103bv8); + free ensures (memory_load8_le(mem, 1979bv64) == 114bv8); + free ensures (memory_load8_le(mem, 1980bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1981bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1982bv64) == 116bv8); + free ensures (memory_load8_le(mem, 1983bv64) == 40bv8); + free ensures (memory_load8_le(mem, 1984bv64) == 41bv8); + free ensures (memory_load8_le(mem, 1985bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1986bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1987bv64) == 110bv8); + free ensures (memory_load8_le(mem, 1988bv64) == 100bv8); + free ensures (memory_load8_le(mem, 1989bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1990bv64) == 114bv8); + free ensures (memory_load8_le(mem, 1991bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1992bv64) == 99bv8); + free ensures (memory_load8_le(mem, 1993bv64) == 116bv8); + free ensures (memory_load8_le(mem, 1994bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1995bv64) == 121bv8); + free ensures (memory_load8_le(mem, 1996bv64) == 58bv8); + free ensures (memory_load8_le(mem, 1997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 96bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -203,3 +342,159 @@ procedure main() procedure puts(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 1952bv64) == 1bv8); + free requires (memory_load8_le(mem, 1953bv64) == 0bv8); + free requires (memory_load8_le(mem, 1954bv64) == 2bv8); + free requires (memory_load8_le(mem, 1955bv64) == 0bv8); + free requires (memory_load8_le(mem, 1956bv64) == 72bv8); + free requires (memory_load8_le(mem, 1957bv64) == 101bv8); + free requires (memory_load8_le(mem, 1958bv64) == 108bv8); + free requires (memory_load8_le(mem, 1959bv64) == 108bv8); + free requires (memory_load8_le(mem, 1960bv64) == 111bv8); + free requires (memory_load8_le(mem, 1961bv64) == 44bv8); + free requires (memory_load8_le(mem, 1962bv64) == 32bv8); + free requires (memory_load8_le(mem, 1963bv64) == 119bv8); + free requires (memory_load8_le(mem, 1964bv64) == 111bv8); + free requires (memory_load8_le(mem, 1965bv64) == 114bv8); + free requires (memory_load8_le(mem, 1966bv64) == 108bv8); + free requires (memory_load8_le(mem, 1967bv64) == 100bv8); + free requires (memory_load8_le(mem, 1968bv64) == 33bv8); + free requires (memory_load8_le(mem, 1969bv64) == 0bv8); + free requires (memory_load8_le(mem, 1970bv64) == 67bv8); + free requires (memory_load8_le(mem, 1971bv64) == 97bv8); + free requires (memory_load8_le(mem, 1972bv64) == 108bv8); + free requires (memory_load8_le(mem, 1973bv64) == 108bv8); + free requires (memory_load8_le(mem, 1974bv64) == 105bv8); + free requires (memory_load8_le(mem, 1975bv64) == 110bv8); + free requires (memory_load8_le(mem, 1976bv64) == 103bv8); + free requires (memory_load8_le(mem, 1977bv64) == 32bv8); + free requires (memory_load8_le(mem, 1978bv64) == 103bv8); + free requires (memory_load8_le(mem, 1979bv64) == 114bv8); + free requires (memory_load8_le(mem, 1980bv64) == 101bv8); + free requires (memory_load8_le(mem, 1981bv64) == 101bv8); + free requires (memory_load8_le(mem, 1982bv64) == 116bv8); + free requires (memory_load8_le(mem, 1983bv64) == 40bv8); + free requires (memory_load8_le(mem, 1984bv64) == 41bv8); + free requires (memory_load8_le(mem, 1985bv64) == 32bv8); + free requires (memory_load8_le(mem, 1986bv64) == 105bv8); + free requires (memory_load8_le(mem, 1987bv64) == 110bv8); + free requires (memory_load8_le(mem, 1988bv64) == 100bv8); + free requires (memory_load8_le(mem, 1989bv64) == 105bv8); + free requires (memory_load8_le(mem, 1990bv64) == 114bv8); + free requires (memory_load8_le(mem, 1991bv64) == 101bv8); + free requires (memory_load8_le(mem, 1992bv64) == 99bv8); + free requires (memory_load8_le(mem, 1993bv64) == 116bv8); + free requires (memory_load8_le(mem, 1994bv64) == 108bv8); + free requires (memory_load8_le(mem, 1995bv64) == 121bv8); + free requires (memory_load8_le(mem, 1996bv64) == 58bv8); + free requires (memory_load8_le(mem, 1997bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 96bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1952bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1953bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1954bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1955bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1956bv64) == 72bv8); + free ensures (memory_load8_le(mem, 1957bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1958bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1959bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1960bv64) == 111bv8); + free ensures (memory_load8_le(mem, 1961bv64) == 44bv8); + free ensures (memory_load8_le(mem, 1962bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1963bv64) == 119bv8); + free ensures (memory_load8_le(mem, 1964bv64) == 111bv8); + free ensures (memory_load8_le(mem, 1965bv64) == 114bv8); + free ensures (memory_load8_le(mem, 1966bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1967bv64) == 100bv8); + free ensures (memory_load8_le(mem, 1968bv64) == 33bv8); + free ensures (memory_load8_le(mem, 1969bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1970bv64) == 67bv8); + free ensures (memory_load8_le(mem, 1971bv64) == 97bv8); + free ensures (memory_load8_le(mem, 1972bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1973bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1974bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1975bv64) == 110bv8); + free ensures (memory_load8_le(mem, 1976bv64) == 103bv8); + free ensures (memory_load8_le(mem, 1977bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1978bv64) == 103bv8); + free ensures (memory_load8_le(mem, 1979bv64) == 114bv8); + free ensures (memory_load8_le(mem, 1980bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1981bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1982bv64) == 116bv8); + free ensures (memory_load8_le(mem, 1983bv64) == 40bv8); + free ensures (memory_load8_le(mem, 1984bv64) == 41bv8); + free ensures (memory_load8_le(mem, 1985bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1986bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1987bv64) == 110bv8); + free ensures (memory_load8_le(mem, 1988bv64) == 100bv8); + free ensures (memory_load8_le(mem, 1989bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1990bv64) == 114bv8); + free ensures (memory_load8_le(mem, 1991bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1992bv64) == 99bv8); + free ensures (memory_load8_le(mem, 1993bv64) == 116bv8); + free ensures (memory_load8_le(mem, 1994bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1995bv64) == 121bv8); + free ensures (memory_load8_le(mem, 1996bv64) == 58bv8); + free ensures (memory_load8_le(mem, 1997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 96bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); diff --git a/src/test/correct/indirect_call/clang_no_plt_no_pic/indirect_call.expected b/src/test/correct/indirect_call/clang_no_plt_no_pic/indirect_call.expected deleted file mode 100644 index a5bc1bece..000000000 --- a/src/test/correct/indirect_call/clang_no_plt_no_pic/indirect_call.expected +++ /dev/null @@ -1,235 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R16: bool; -var Gamma_R17: bool; -var Gamma_R29: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_R8: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R16: bv64; -var R17: bv64; -var R29: bv64; -var R30: bv64; -var R31: bv64; -var R8: bv64; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -const $_IO_stdin_used_addr: bv64; -axiom ($_IO_stdin_used_addr == 1996bv64); -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function gamma_load32(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))) -} - -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load32_le(memory: [bv64]bv8, index: bv64) returns (bv32) { - (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))) -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); -procedure rely(); - modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R0, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_stack, R0, R16, R17, R29, R30, R31, R8, stack; - free requires (memory_load8_le(mem, 1996bv64) == 1bv8); - free requires (memory_load8_le(mem, 1997bv64) == 0bv8); - free requires (memory_load8_le(mem, 1998bv64) == 2bv8); - free requires (memory_load8_le(mem, 1999bv64) == 0bv8); - free requires (memory_load8_le(mem, 2000bv64) == 72bv8); - free requires (memory_load8_le(mem, 2001bv64) == 101bv8); - free requires (memory_load8_le(mem, 2002bv64) == 108bv8); - free requires (memory_load8_le(mem, 2003bv64) == 108bv8); - free requires (memory_load8_le(mem, 2004bv64) == 111bv8); - free requires (memory_load8_le(mem, 2005bv64) == 44bv8); - free requires (memory_load8_le(mem, 2006bv64) == 32bv8); - free requires (memory_load8_le(mem, 2007bv64) == 119bv8); - free requires (memory_load8_le(mem, 2008bv64) == 111bv8); - free requires (memory_load8_le(mem, 2009bv64) == 114bv8); - free requires (memory_load8_le(mem, 2010bv64) == 108bv8); - free requires (memory_load8_le(mem, 2011bv64) == 100bv8); - free requires (memory_load8_le(mem, 2012bv64) == 33bv8); - free requires (memory_load8_le(mem, 2013bv64) == 10bv8); - free requires (memory_load8_le(mem, 2014bv64) == 0bv8); - free requires (memory_load8_le(mem, 2015bv64) == 67bv8); - free requires (memory_load8_le(mem, 2016bv64) == 97bv8); - free requires (memory_load8_le(mem, 2017bv64) == 108bv8); - free requires (memory_load8_le(mem, 2018bv64) == 108bv8); - free requires (memory_load8_le(mem, 2019bv64) == 105bv8); - free requires (memory_load8_le(mem, 2020bv64) == 110bv8); - free requires (memory_load8_le(mem, 2021bv64) == 103bv8); - free requires (memory_load8_le(mem, 2022bv64) == 32bv8); - free requires (memory_load8_le(mem, 2023bv64) == 103bv8); - free requires (memory_load8_le(mem, 2024bv64) == 114bv8); - free requires (memory_load8_le(mem, 2025bv64) == 101bv8); - free requires (memory_load8_le(mem, 2026bv64) == 101bv8); - free requires (memory_load8_le(mem, 2027bv64) == 116bv8); - free requires (memory_load8_le(mem, 2028bv64) == 40bv8); - free requires (memory_load8_le(mem, 2029bv64) == 41bv8); - free requires (memory_load8_le(mem, 2030bv64) == 32bv8); - free requires (memory_load8_le(mem, 2031bv64) == 105bv8); - free requires (memory_load8_le(mem, 2032bv64) == 110bv8); - free requires (memory_load8_le(mem, 2033bv64) == 100bv8); - free requires (memory_load8_le(mem, 2034bv64) == 105bv8); - free requires (memory_load8_le(mem, 2035bv64) == 114bv8); - free requires (memory_load8_le(mem, 2036bv64) == 101bv8); - free requires (memory_load8_le(mem, 2037bv64) == 99bv8); - free requires (memory_load8_le(mem, 2038bv64) == 116bv8); - free requires (memory_load8_le(mem, 2039bv64) == 108bv8); - free requires (memory_load8_le(mem, 2040bv64) == 121bv8); - free requires (memory_load8_le(mem, 2041bv64) == 58bv8); - free requires (memory_load8_le(mem, 2042bv64) == 10bv8); - free requires (memory_load8_le(mem, 2043bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 112bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 0bv8); - free requires (memory_load8_le(mem, 69673bv64) == 0bv8); - free requires (memory_load8_le(mem, 69674bv64) == 0bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free requires (memory_load8_le(mem, 69680bv64) == 48bv8); - free requires (memory_load8_le(mem, 69681bv64) == 16bv8); - free requires (memory_load8_le(mem, 69682bv64) == 1bv8); - free requires (memory_load8_le(mem, 69683bv64) == 0bv8); - free requires (memory_load8_le(mem, 69684bv64) == 0bv8); - free requires (memory_load8_le(mem, 69685bv64) == 0bv8); - free requires (memory_load8_le(mem, 69686bv64) == 0bv8); - free requires (memory_load8_le(mem, 69687bv64) == 0bv8); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); -{ - var #5: bv64; - var #6: bv64; - var Gamma_#5: bool; - var Gamma_#6: bool; - lmain: - R31, Gamma_R31 := bvadd64(R31, 18446744073709551568bv64), Gamma_R31; - #5, Gamma_#5 := bvadd64(R31, 32bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #5, R29), gamma_store64(Gamma_stack, #5, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#5, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#5, 8bv64), Gamma_R30); - R29, Gamma_R29 := bvadd64(R31, 32bv64), Gamma_R31; - R8, Gamma_R8 := 0bv64, true; - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 12bv64), R8[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 12bv64), Gamma_R8); - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551612bv64), 0bv32), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551612bv64), true); - R8, Gamma_R8 := 0bv64, true; - R8, Gamma_R8 := bvadd64(R8, 1876bv64), Gamma_R8; - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R8), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R8); - R0, Gamma_R0 := 0bv64, true; - R0, Gamma_R0 := bvadd64(R0, 2015bv64), Gamma_R0; - R30, Gamma_R30 := 1952bv64, true; - call printf(); - goto l00000a77; - l00000a77: - R8, Gamma_R8 := memory_load64_le(stack, bvadd64(R31, 16bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 16bv64)); - R30, Gamma_R30 := 1960bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l00000a86; - l00000a86: - R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 12bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 12bv64)); - #6, Gamma_#6 := bvadd64(R31, 32bv64), Gamma_R31; - R29, Gamma_R29 := memory_load64_le(stack, #6), gamma_load64(Gamma_stack, #6); - R30, Gamma_R30 := memory_load64_le(stack, bvadd64(#6, 8bv64)), gamma_load64(Gamma_stack, bvadd64(#6, 8bv64)); - R31, Gamma_R31 := bvadd64(R31, 48bv64), Gamma_R31; - return; -} - -procedure printf(); - modifies Gamma_R16, Gamma_R17, R16, R17; diff --git a/src/test/correct/indirect_call/clang_pic/indirect_call.expected b/src/test/correct/indirect_call/clang_pic/indirect_call.expected deleted file mode 100644 index 1e58c1ce2..000000000 --- a/src/test/correct/indirect_call/clang_pic/indirect_call.expected +++ /dev/null @@ -1,247 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R16: bool; -var Gamma_R17: bool; -var Gamma_R29: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_R8: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R16: bv64; -var R17: bv64; -var R29: bv64; -var R30: bv64; -var R31: bv64; -var R8: bv64; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -const $_IO_stdin_used_addr: bv64; -axiom ($_IO_stdin_used_addr == 2060bv64); -function L(memory: [bv64]bv8, index: bv64) returns (bool) { - false -} - -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function gamma_load32(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))) -} - -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load32_le(memory: [bv64]bv8, index: bv64) returns (bv32) { - (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))) -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); -procedure rely(); - modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R0, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_stack, R0, R16, R17, R29, R30, R31, R8, stack; - free requires (memory_load8_le(mem, 2060bv64) == 1bv8); - free requires (memory_load8_le(mem, 2061bv64) == 0bv8); - free requires (memory_load8_le(mem, 2062bv64) == 2bv8); - free requires (memory_load8_le(mem, 2063bv64) == 0bv8); - free requires (memory_load8_le(mem, 2064bv64) == 72bv8); - free requires (memory_load8_le(mem, 2065bv64) == 101bv8); - free requires (memory_load8_le(mem, 2066bv64) == 108bv8); - free requires (memory_load8_le(mem, 2067bv64) == 108bv8); - free requires (memory_load8_le(mem, 2068bv64) == 111bv8); - free requires (memory_load8_le(mem, 2069bv64) == 44bv8); - free requires (memory_load8_le(mem, 2070bv64) == 32bv8); - free requires (memory_load8_le(mem, 2071bv64) == 119bv8); - free requires (memory_load8_le(mem, 2072bv64) == 111bv8); - free requires (memory_load8_le(mem, 2073bv64) == 114bv8); - free requires (memory_load8_le(mem, 2074bv64) == 108bv8); - free requires (memory_load8_le(mem, 2075bv64) == 100bv8); - free requires (memory_load8_le(mem, 2076bv64) == 33bv8); - free requires (memory_load8_le(mem, 2077bv64) == 10bv8); - free requires (memory_load8_le(mem, 2078bv64) == 0bv8); - free requires (memory_load8_le(mem, 2079bv64) == 67bv8); - free requires (memory_load8_le(mem, 2080bv64) == 97bv8); - free requires (memory_load8_le(mem, 2081bv64) == 108bv8); - free requires (memory_load8_le(mem, 2082bv64) == 108bv8); - free requires (memory_load8_le(mem, 2083bv64) == 105bv8); - free requires (memory_load8_le(mem, 2084bv64) == 110bv8); - free requires (memory_load8_le(mem, 2085bv64) == 103bv8); - free requires (memory_load8_le(mem, 2086bv64) == 32bv8); - free requires (memory_load8_le(mem, 2087bv64) == 103bv8); - free requires (memory_load8_le(mem, 2088bv64) == 114bv8); - free requires (memory_load8_le(mem, 2089bv64) == 101bv8); - free requires (memory_load8_le(mem, 2090bv64) == 101bv8); - free requires (memory_load8_le(mem, 2091bv64) == 116bv8); - free requires (memory_load8_le(mem, 2092bv64) == 40bv8); - free requires (memory_load8_le(mem, 2093bv64) == 41bv8); - free requires (memory_load8_le(mem, 2094bv64) == 32bv8); - free requires (memory_load8_le(mem, 2095bv64) == 105bv8); - free requires (memory_load8_le(mem, 2096bv64) == 110bv8); - free requires (memory_load8_le(mem, 2097bv64) == 100bv8); - free requires (memory_load8_le(mem, 2098bv64) == 105bv8); - free requires (memory_load8_le(mem, 2099bv64) == 114bv8); - free requires (memory_load8_le(mem, 2100bv64) == 101bv8); - free requires (memory_load8_le(mem, 2101bv64) == 99bv8); - free requires (memory_load8_le(mem, 2102bv64) == 116bv8); - free requires (memory_load8_le(mem, 2103bv64) == 108bv8); - free requires (memory_load8_le(mem, 2104bv64) == 121bv8); - free requires (memory_load8_le(mem, 2105bv64) == 58bv8); - free requires (memory_load8_le(mem, 2106bv64) == 10bv8); - free requires (memory_load8_le(mem, 2107bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 13bv8); - free requires (memory_load8_le(mem, 69554bv64) == 1bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 0bv8); - free requires (memory_load8_le(mem, 69561bv64) == 0bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 148bv8); - free requires (memory_load8_le(mem, 69577bv64) == 7bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 176bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 0bv8); - free requires (memory_load8_le(mem, 69673bv64) == 0bv8); - free requires (memory_load8_le(mem, 69674bv64) == 0bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free requires (memory_load8_le(mem, 69680bv64) == 48bv8); - free requires (memory_load8_le(mem, 69681bv64) == 16bv8); - free requires (memory_load8_le(mem, 69682bv64) == 1bv8); - free requires (memory_load8_le(mem, 69683bv64) == 0bv8); - free requires (memory_load8_le(mem, 69684bv64) == 0bv8); - free requires (memory_load8_le(mem, 69685bv64) == 0bv8); - free requires (memory_load8_le(mem, 69686bv64) == 0bv8); - free requires (memory_load8_le(mem, 69687bv64) == 0bv8); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); -{ - var #5: bv64; - var #6: bv64; - var Gamma_#5: bool; - var Gamma_#6: bool; - lmain: - R31, Gamma_R31 := bvadd64(R31, 18446744073709551568bv64), Gamma_R31; - #5, Gamma_#5 := bvadd64(R31, 32bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #5, R29), gamma_store64(Gamma_stack, #5, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#5, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#5, 8bv64), Gamma_R30); - R29, Gamma_R29 := bvadd64(R31, 32bv64), Gamma_R31; - R8, Gamma_R8 := 0bv64, true; - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 12bv64), R8[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 12bv64), Gamma_R8); - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551612bv64), 0bv32), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551612bv64), true); - R8, Gamma_R8 := 65536bv64, true; - R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R8, 4040bv64)), (gamma_load64(Gamma_mem, bvadd64(R8, 4040bv64)) || L(mem, bvadd64(R8, 4040bv64))); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R8), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R8); - R0, Gamma_R0 := 0bv64, true; - R0, Gamma_R0 := bvadd64(R0, 2079bv64), Gamma_R0; - R30, Gamma_R30 := 2016bv64, true; - call printf(); - goto l000003aa; - l000003aa: - R8, Gamma_R8 := memory_load64_le(stack, bvadd64(R31, 16bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 16bv64)); - R30, Gamma_R30 := 2024bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l000003b9; - l000003b9: - R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 12bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 12bv64)); - #6, Gamma_#6 := bvadd64(R31, 32bv64), Gamma_R31; - R29, Gamma_R29 := memory_load64_le(stack, #6), gamma_load64(Gamma_stack, #6); - R30, Gamma_R30 := memory_load64_le(stack, bvadd64(#6, 8bv64)), gamma_load64(Gamma_stack, bvadd64(#6, 8bv64)); - R31, Gamma_R31 := bvadd64(R31, 48bv64), Gamma_R31; - return; -} - -procedure printf(); - modifies Gamma_R16, Gamma_R17, R16, R17; diff --git a/src/test/correct/indirect_call/gcc/indirect_call.expected b/src/test/correct/indirect_call/gcc/indirect_call.expected deleted file mode 100644 index 9af8b7ff5..000000000 --- a/src/test/correct/indirect_call/gcc/indirect_call.expected +++ /dev/null @@ -1,278 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R16: bool; -var Gamma_R17: bool; -var Gamma_R29: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R16: bv64; -var R17: bv64; -var R29: bv64; -var R30: bv64; -var R31: bv64; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -const $_IO_stdin_used_addr: bv64; -axiom ($_IO_stdin_used_addr == 1984bv64); -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -procedure rely(); - modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R0, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R16, R17, R29, R30, R31, stack; - free requires (memory_load8_le(mem, 1984bv64) == 1bv8); - free requires (memory_load8_le(mem, 1985bv64) == 0bv8); - free requires (memory_load8_le(mem, 1986bv64) == 2bv8); - free requires (memory_load8_le(mem, 1987bv64) == 0bv8); - free requires (memory_load8_le(mem, 1988bv64) == 0bv8); - free requires (memory_load8_le(mem, 1989bv64) == 0bv8); - free requires (memory_load8_le(mem, 1990bv64) == 0bv8); - free requires (memory_load8_le(mem, 1991bv64) == 0bv8); - free requires (memory_load8_le(mem, 1992bv64) == 72bv8); - free requires (memory_load8_le(mem, 1993bv64) == 101bv8); - free requires (memory_load8_le(mem, 1994bv64) == 108bv8); - free requires (memory_load8_le(mem, 1995bv64) == 108bv8); - free requires (memory_load8_le(mem, 1996bv64) == 111bv8); - free requires (memory_load8_le(mem, 1997bv64) == 44bv8); - free requires (memory_load8_le(mem, 1998bv64) == 32bv8); - free requires (memory_load8_le(mem, 1999bv64) == 119bv8); - free requires (memory_load8_le(mem, 2000bv64) == 111bv8); - free requires (memory_load8_le(mem, 2001bv64) == 114bv8); - free requires (memory_load8_le(mem, 2002bv64) == 108bv8); - free requires (memory_load8_le(mem, 2003bv64) == 100bv8); - free requires (memory_load8_le(mem, 2004bv64) == 33bv8); - free requires (memory_load8_le(mem, 2005bv64) == 0bv8); - free requires (memory_load8_le(mem, 2006bv64) == 0bv8); - free requires (memory_load8_le(mem, 2007bv64) == 0bv8); - free requires (memory_load8_le(mem, 2008bv64) == 67bv8); - free requires (memory_load8_le(mem, 2009bv64) == 97bv8); - free requires (memory_load8_le(mem, 2010bv64) == 108bv8); - free requires (memory_load8_le(mem, 2011bv64) == 108bv8); - free requires (memory_load8_le(mem, 2012bv64) == 105bv8); - free requires (memory_load8_le(mem, 2013bv64) == 110bv8); - free requires (memory_load8_le(mem, 2014bv64) == 103bv8); - free requires (memory_load8_le(mem, 2015bv64) == 32bv8); - free requires (memory_load8_le(mem, 2016bv64) == 103bv8); - free requires (memory_load8_le(mem, 2017bv64) == 114bv8); - free requires (memory_load8_le(mem, 2018bv64) == 101bv8); - free requires (memory_load8_le(mem, 2019bv64) == 101bv8); - free requires (memory_load8_le(mem, 2020bv64) == 116bv8); - free requires (memory_load8_le(mem, 2021bv64) == 40bv8); - free requires (memory_load8_le(mem, 2022bv64) == 41bv8); - free requires (memory_load8_le(mem, 2023bv64) == 32bv8); - free requires (memory_load8_le(mem, 2024bv64) == 105bv8); - free requires (memory_load8_le(mem, 2025bv64) == 110bv8); - free requires (memory_load8_le(mem, 2026bv64) == 100bv8); - free requires (memory_load8_le(mem, 2027bv64) == 105bv8); - free requires (memory_load8_le(mem, 2028bv64) == 114bv8); - free requires (memory_load8_le(mem, 2029bv64) == 101bv8); - free requires (memory_load8_le(mem, 2030bv64) == 99bv8); - free requires (memory_load8_le(mem, 2031bv64) == 116bv8); - free requires (memory_load8_le(mem, 2032bv64) == 108bv8); - free requires (memory_load8_le(mem, 2033bv64) == 121bv8); - free requires (memory_load8_le(mem, 2034bv64) == 58bv8); - free requires (memory_load8_le(mem, 2035bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 208bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 208bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 208bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 208bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 160bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 116bv8); - free requires (memory_load8_le(mem, 69617bv64) == 7bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); - free requires (memory_load8_le(mem, 69640bv64) == 8bv8); - free requires (memory_load8_le(mem, 69641bv64) == 16bv8); - free requires (memory_load8_le(mem, 69642bv64) == 1bv8); - free requires (memory_load8_le(mem, 69643bv64) == 0bv8); - free requires (memory_load8_le(mem, 69644bv64) == 0bv8); - free requires (memory_load8_le(mem, 69645bv64) == 0bv8); - free requires (memory_load8_le(mem, 69646bv64) == 0bv8); - free requires (memory_load8_le(mem, 69647bv64) == 0bv8); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); -{ - var #5: bv64; - var Gamma_#5: bool; - lmain: - #5, Gamma_#5 := bvadd64(R31, 18446744073709551584bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #5, R29), gamma_store64(Gamma_stack, #5, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#5, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#5, 8bv64), Gamma_R30); - R31, Gamma_R31 := #5, Gamma_#5; - R29, Gamma_R29 := R31, Gamma_R31; - R0, Gamma_R0 := 0bv64, true; - R0, Gamma_R0 := bvadd64(R0, 1876bv64), Gamma_R0; - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 24bv64), R0), gamma_store64(Gamma_stack, bvadd64(R31, 24bv64), Gamma_R0); - R0, Gamma_R0 := 0bv64, true; - R0, Gamma_R0 := bvadd64(R0, 2008bv64), Gamma_R0; - R30, Gamma_R30 := 1940bv64, true; - call puts(); - goto l00000385; - l00000385: - R0, Gamma_R0 := memory_load64_le(stack, bvadd64(R31, 24bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 24bv64)); - R30, Gamma_R30 := 1948bv64, true; - //UNRESOLVED: call R0 - assume false; - goto l00000394; - l00000394: - R0, Gamma_R0 := 0bv64, true; - R29, Gamma_R29 := memory_load64_le(stack, R31), gamma_load64(Gamma_stack, R31); - R30, Gamma_R30 := memory_load64_le(stack, bvadd64(R31, 8bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 8bv64)); - R31, Gamma_R31 := bvadd64(R31, 32bv64), Gamma_R31; - return; -} - -procedure puts(); - modifies Gamma_R16, Gamma_R17, R16, R17; diff --git a/src/test/correct/indirect_call/gcc_O2/indirect_call.expected b/src/test/correct/indirect_call/gcc_O2/indirect_call.expected index d325fb378..d58b0179c 100644 --- a/src/test/correct/indirect_call/gcc_O2/indirect_call.expected +++ b/src/test/correct/indirect_call/gcc_O2/indirect_call.expected @@ -39,9 +39,92 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1984bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1985bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1986bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1987bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1988bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1989bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1990bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1991bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1992bv64) == 72bv8); + free ensures (memory_load8_le(mem, 1993bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1994bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1995bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1996bv64) == 111bv8); + free ensures (memory_load8_le(mem, 1997bv64) == 44bv8); + free ensures (memory_load8_le(mem, 1998bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1999bv64) == 119bv8); + free ensures (memory_load8_le(mem, 2000bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2001bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2002bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2003bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2004bv64) == 33bv8); + free ensures (memory_load8_le(mem, 2005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2008bv64) == 67bv8); + free ensures (memory_load8_le(mem, 2009bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2010bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2011bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2012bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2013bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2014bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2015bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2016bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2017bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2018bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2019bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2020bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2021bv64) == 40bv8); + free ensures (memory_load8_le(mem, 2022bv64) == 41bv8); + free ensures (memory_load8_le(mem, 2023bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2024bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2032bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2033bv64) == 121bv8); + free ensures (memory_load8_le(mem, 2034bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2035bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 144bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -59,6 +142,174 @@ procedure guarantee_reflexive(); procedure greet() modifies Gamma_R0, Gamma_R16, Gamma_R17, R0, R16, R17; + free requires (memory_load8_le(mem, 1984bv64) == 1bv8); + free requires (memory_load8_le(mem, 1985bv64) == 0bv8); + free requires (memory_load8_le(mem, 1986bv64) == 2bv8); + free requires (memory_load8_le(mem, 1987bv64) == 0bv8); + free requires (memory_load8_le(mem, 1988bv64) == 0bv8); + free requires (memory_load8_le(mem, 1989bv64) == 0bv8); + free requires (memory_load8_le(mem, 1990bv64) == 0bv8); + free requires (memory_load8_le(mem, 1991bv64) == 0bv8); + free requires (memory_load8_le(mem, 1992bv64) == 72bv8); + free requires (memory_load8_le(mem, 1993bv64) == 101bv8); + free requires (memory_load8_le(mem, 1994bv64) == 108bv8); + free requires (memory_load8_le(mem, 1995bv64) == 108bv8); + free requires (memory_load8_le(mem, 1996bv64) == 111bv8); + free requires (memory_load8_le(mem, 1997bv64) == 44bv8); + free requires (memory_load8_le(mem, 1998bv64) == 32bv8); + free requires (memory_load8_le(mem, 1999bv64) == 119bv8); + free requires (memory_load8_le(mem, 2000bv64) == 111bv8); + free requires (memory_load8_le(mem, 2001bv64) == 114bv8); + free requires (memory_load8_le(mem, 2002bv64) == 108bv8); + free requires (memory_load8_le(mem, 2003bv64) == 100bv8); + free requires (memory_load8_le(mem, 2004bv64) == 33bv8); + free requires (memory_load8_le(mem, 2005bv64) == 0bv8); + free requires (memory_load8_le(mem, 2006bv64) == 0bv8); + free requires (memory_load8_le(mem, 2007bv64) == 0bv8); + free requires (memory_load8_le(mem, 2008bv64) == 67bv8); + free requires (memory_load8_le(mem, 2009bv64) == 97bv8); + free requires (memory_load8_le(mem, 2010bv64) == 108bv8); + free requires (memory_load8_le(mem, 2011bv64) == 108bv8); + free requires (memory_load8_le(mem, 2012bv64) == 105bv8); + free requires (memory_load8_le(mem, 2013bv64) == 110bv8); + free requires (memory_load8_le(mem, 2014bv64) == 103bv8); + free requires (memory_load8_le(mem, 2015bv64) == 32bv8); + free requires (memory_load8_le(mem, 2016bv64) == 103bv8); + free requires (memory_load8_le(mem, 2017bv64) == 114bv8); + free requires (memory_load8_le(mem, 2018bv64) == 101bv8); + free requires (memory_load8_le(mem, 2019bv64) == 101bv8); + free requires (memory_load8_le(mem, 2020bv64) == 116bv8); + free requires (memory_load8_le(mem, 2021bv64) == 40bv8); + free requires (memory_load8_le(mem, 2022bv64) == 41bv8); + free requires (memory_load8_le(mem, 2023bv64) == 32bv8); + free requires (memory_load8_le(mem, 2024bv64) == 105bv8); + free requires (memory_load8_le(mem, 2025bv64) == 110bv8); + free requires (memory_load8_le(mem, 2026bv64) == 100bv8); + free requires (memory_load8_le(mem, 2027bv64) == 105bv8); + free requires (memory_load8_le(mem, 2028bv64) == 114bv8); + free requires (memory_load8_le(mem, 2029bv64) == 101bv8); + free requires (memory_load8_le(mem, 2030bv64) == 99bv8); + free requires (memory_load8_le(mem, 2031bv64) == 116bv8); + free requires (memory_load8_le(mem, 2032bv64) == 108bv8); + free requires (memory_load8_le(mem, 2033bv64) == 121bv8); + free requires (memory_load8_le(mem, 2034bv64) == 58bv8); + free requires (memory_load8_le(mem, 2035bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 144bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 64bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 64bv8); + free requires (memory_load8_le(mem, 69617bv64) == 6bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1984bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1985bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1986bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1987bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1988bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1989bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1990bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1991bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1992bv64) == 72bv8); + free ensures (memory_load8_le(mem, 1993bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1994bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1995bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1996bv64) == 111bv8); + free ensures (memory_load8_le(mem, 1997bv64) == 44bv8); + free ensures (memory_load8_le(mem, 1998bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1999bv64) == 119bv8); + free ensures (memory_load8_le(mem, 2000bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2001bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2002bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2003bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2004bv64) == 33bv8); + free ensures (memory_load8_le(mem, 2005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2008bv64) == 67bv8); + free ensures (memory_load8_le(mem, 2009bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2010bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2011bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2012bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2013bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2014bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2015bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2016bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2017bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2018bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2019bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2020bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2021bv64) == 40bv8); + free ensures (memory_load8_le(mem, 2022bv64) == 41bv8); + free ensures (memory_load8_le(mem, 2023bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2024bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2032bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2033bv64) == 121bv8); + free ensures (memory_load8_le(mem, 2034bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2035bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 144bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lgreet: R0, Gamma_R0 := 0bv64, true; @@ -70,6 +321,22 @@ procedure greet() procedure main() modifies Gamma_R0, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R16, R17, R29, R30, R31, stack; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1984bv64) == 1bv8); free requires (memory_load8_le(mem, 1985bv64) == 0bv8); free requires (memory_load8_le(mem, 1986bv64) == 2bv8); @@ -122,102 +389,22 @@ procedure main() free requires (memory_load8_le(mem, 2033bv64) == 121bv8); free requires (memory_load8_le(mem, 2034bv64) == 58bv8); free requires (memory_load8_le(mem, 2035bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 208bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 208bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 208bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 208bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 160bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 144bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 64bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 64bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -226,22 +413,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -254,6 +425,90 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1984bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1985bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1986bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1987bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1988bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1989bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1990bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1991bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1992bv64) == 72bv8); + free ensures (memory_load8_le(mem, 1993bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1994bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1995bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1996bv64) == 111bv8); + free ensures (memory_load8_le(mem, 1997bv64) == 44bv8); + free ensures (memory_load8_le(mem, 1998bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1999bv64) == 119bv8); + free ensures (memory_load8_le(mem, 2000bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2001bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2002bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2003bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2004bv64) == 33bv8); + free ensures (memory_load8_le(mem, 2005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2008bv64) == 67bv8); + free ensures (memory_load8_le(mem, 2009bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2010bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2011bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2012bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2013bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2014bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2015bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2016bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2017bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2018bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2019bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2020bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2021bv64) == 40bv8); + free ensures (memory_load8_le(mem, 2022bv64) == 41bv8); + free ensures (memory_load8_le(mem, 2023bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2024bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2032bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2033bv64) == 121bv8); + free ensures (memory_load8_le(mem, 2034bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2035bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 144bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #1: bv64; var Gamma_#1: bool; @@ -282,3 +537,171 @@ procedure main() procedure puts(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 1984bv64) == 1bv8); + free requires (memory_load8_le(mem, 1985bv64) == 0bv8); + free requires (memory_load8_le(mem, 1986bv64) == 2bv8); + free requires (memory_load8_le(mem, 1987bv64) == 0bv8); + free requires (memory_load8_le(mem, 1988bv64) == 0bv8); + free requires (memory_load8_le(mem, 1989bv64) == 0bv8); + free requires (memory_load8_le(mem, 1990bv64) == 0bv8); + free requires (memory_load8_le(mem, 1991bv64) == 0bv8); + free requires (memory_load8_le(mem, 1992bv64) == 72bv8); + free requires (memory_load8_le(mem, 1993bv64) == 101bv8); + free requires (memory_load8_le(mem, 1994bv64) == 108bv8); + free requires (memory_load8_le(mem, 1995bv64) == 108bv8); + free requires (memory_load8_le(mem, 1996bv64) == 111bv8); + free requires (memory_load8_le(mem, 1997bv64) == 44bv8); + free requires (memory_load8_le(mem, 1998bv64) == 32bv8); + free requires (memory_load8_le(mem, 1999bv64) == 119bv8); + free requires (memory_load8_le(mem, 2000bv64) == 111bv8); + free requires (memory_load8_le(mem, 2001bv64) == 114bv8); + free requires (memory_load8_le(mem, 2002bv64) == 108bv8); + free requires (memory_load8_le(mem, 2003bv64) == 100bv8); + free requires (memory_load8_le(mem, 2004bv64) == 33bv8); + free requires (memory_load8_le(mem, 2005bv64) == 0bv8); + free requires (memory_load8_le(mem, 2006bv64) == 0bv8); + free requires (memory_load8_le(mem, 2007bv64) == 0bv8); + free requires (memory_load8_le(mem, 2008bv64) == 67bv8); + free requires (memory_load8_le(mem, 2009bv64) == 97bv8); + free requires (memory_load8_le(mem, 2010bv64) == 108bv8); + free requires (memory_load8_le(mem, 2011bv64) == 108bv8); + free requires (memory_load8_le(mem, 2012bv64) == 105bv8); + free requires (memory_load8_le(mem, 2013bv64) == 110bv8); + free requires (memory_load8_le(mem, 2014bv64) == 103bv8); + free requires (memory_load8_le(mem, 2015bv64) == 32bv8); + free requires (memory_load8_le(mem, 2016bv64) == 103bv8); + free requires (memory_load8_le(mem, 2017bv64) == 114bv8); + free requires (memory_load8_le(mem, 2018bv64) == 101bv8); + free requires (memory_load8_le(mem, 2019bv64) == 101bv8); + free requires (memory_load8_le(mem, 2020bv64) == 116bv8); + free requires (memory_load8_le(mem, 2021bv64) == 40bv8); + free requires (memory_load8_le(mem, 2022bv64) == 41bv8); + free requires (memory_load8_le(mem, 2023bv64) == 32bv8); + free requires (memory_load8_le(mem, 2024bv64) == 105bv8); + free requires (memory_load8_le(mem, 2025bv64) == 110bv8); + free requires (memory_load8_le(mem, 2026bv64) == 100bv8); + free requires (memory_load8_le(mem, 2027bv64) == 105bv8); + free requires (memory_load8_le(mem, 2028bv64) == 114bv8); + free requires (memory_load8_le(mem, 2029bv64) == 101bv8); + free requires (memory_load8_le(mem, 2030bv64) == 99bv8); + free requires (memory_load8_le(mem, 2031bv64) == 116bv8); + free requires (memory_load8_le(mem, 2032bv64) == 108bv8); + free requires (memory_load8_le(mem, 2033bv64) == 121bv8); + free requires (memory_load8_le(mem, 2034bv64) == 58bv8); + free requires (memory_load8_le(mem, 2035bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 144bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 64bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 64bv8); + free requires (memory_load8_le(mem, 69617bv64) == 6bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1984bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1985bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1986bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1987bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1988bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1989bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1990bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1991bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1992bv64) == 72bv8); + free ensures (memory_load8_le(mem, 1993bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1994bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1995bv64) == 108bv8); + free ensures (memory_load8_le(mem, 1996bv64) == 111bv8); + free ensures (memory_load8_le(mem, 1997bv64) == 44bv8); + free ensures (memory_load8_le(mem, 1998bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1999bv64) == 119bv8); + free ensures (memory_load8_le(mem, 2000bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2001bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2002bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2003bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2004bv64) == 33bv8); + free ensures (memory_load8_le(mem, 2005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2008bv64) == 67bv8); + free ensures (memory_load8_le(mem, 2009bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2010bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2011bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2012bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2013bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2014bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2015bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2016bv64) == 103bv8); + free ensures (memory_load8_le(mem, 2017bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2018bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2019bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2020bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2021bv64) == 40bv8); + free ensures (memory_load8_le(mem, 2022bv64) == 41bv8); + free ensures (memory_load8_le(mem, 2023bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2024bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2032bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2033bv64) == 121bv8); + free ensures (memory_load8_le(mem, 2034bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2035bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 144bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); diff --git a/src/test/correct/indirect_call/gcc_no_plt_no_pic/indirect_call.expected b/src/test/correct/indirect_call/gcc_no_plt_no_pic/indirect_call.expected deleted file mode 100644 index cfb10d986..000000000 --- a/src/test/correct/indirect_call/gcc_no_plt_no_pic/indirect_call.expected +++ /dev/null @@ -1,278 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R16: bool; -var Gamma_R17: bool; -var Gamma_R29: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R16: bv64; -var R17: bv64; -var R29: bv64; -var R30: bv64; -var R31: bv64; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -const $_IO_stdin_used_addr: bv64; -axiom ($_IO_stdin_used_addr == 1984bv64); -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -procedure rely(); - modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R0, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R16, R17, R29, R30, R31, stack; - free requires (memory_load8_le(mem, 1984bv64) == 1bv8); - free requires (memory_load8_le(mem, 1985bv64) == 0bv8); - free requires (memory_load8_le(mem, 1986bv64) == 2bv8); - free requires (memory_load8_le(mem, 1987bv64) == 0bv8); - free requires (memory_load8_le(mem, 1988bv64) == 0bv8); - free requires (memory_load8_le(mem, 1989bv64) == 0bv8); - free requires (memory_load8_le(mem, 1990bv64) == 0bv8); - free requires (memory_load8_le(mem, 1991bv64) == 0bv8); - free requires (memory_load8_le(mem, 1992bv64) == 72bv8); - free requires (memory_load8_le(mem, 1993bv64) == 101bv8); - free requires (memory_load8_le(mem, 1994bv64) == 108bv8); - free requires (memory_load8_le(mem, 1995bv64) == 108bv8); - free requires (memory_load8_le(mem, 1996bv64) == 111bv8); - free requires (memory_load8_le(mem, 1997bv64) == 44bv8); - free requires (memory_load8_le(mem, 1998bv64) == 32bv8); - free requires (memory_load8_le(mem, 1999bv64) == 119bv8); - free requires (memory_load8_le(mem, 2000bv64) == 111bv8); - free requires (memory_load8_le(mem, 2001bv64) == 114bv8); - free requires (memory_load8_le(mem, 2002bv64) == 108bv8); - free requires (memory_load8_le(mem, 2003bv64) == 100bv8); - free requires (memory_load8_le(mem, 2004bv64) == 33bv8); - free requires (memory_load8_le(mem, 2005bv64) == 0bv8); - free requires (memory_load8_le(mem, 2006bv64) == 0bv8); - free requires (memory_load8_le(mem, 2007bv64) == 0bv8); - free requires (memory_load8_le(mem, 2008bv64) == 67bv8); - free requires (memory_load8_le(mem, 2009bv64) == 97bv8); - free requires (memory_load8_le(mem, 2010bv64) == 108bv8); - free requires (memory_load8_le(mem, 2011bv64) == 108bv8); - free requires (memory_load8_le(mem, 2012bv64) == 105bv8); - free requires (memory_load8_le(mem, 2013bv64) == 110bv8); - free requires (memory_load8_le(mem, 2014bv64) == 103bv8); - free requires (memory_load8_le(mem, 2015bv64) == 32bv8); - free requires (memory_load8_le(mem, 2016bv64) == 103bv8); - free requires (memory_load8_le(mem, 2017bv64) == 114bv8); - free requires (memory_load8_le(mem, 2018bv64) == 101bv8); - free requires (memory_load8_le(mem, 2019bv64) == 101bv8); - free requires (memory_load8_le(mem, 2020bv64) == 116bv8); - free requires (memory_load8_le(mem, 2021bv64) == 40bv8); - free requires (memory_load8_le(mem, 2022bv64) == 41bv8); - free requires (memory_load8_le(mem, 2023bv64) == 32bv8); - free requires (memory_load8_le(mem, 2024bv64) == 105bv8); - free requires (memory_load8_le(mem, 2025bv64) == 110bv8); - free requires (memory_load8_le(mem, 2026bv64) == 100bv8); - free requires (memory_load8_le(mem, 2027bv64) == 105bv8); - free requires (memory_load8_le(mem, 2028bv64) == 114bv8); - free requires (memory_load8_le(mem, 2029bv64) == 101bv8); - free requires (memory_load8_le(mem, 2030bv64) == 99bv8); - free requires (memory_load8_le(mem, 2031bv64) == 116bv8); - free requires (memory_load8_le(mem, 2032bv64) == 108bv8); - free requires (memory_load8_le(mem, 2033bv64) == 121bv8); - free requires (memory_load8_le(mem, 2034bv64) == 58bv8); - free requires (memory_load8_le(mem, 2035bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 208bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 208bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 208bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 208bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 160bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 116bv8); - free requires (memory_load8_le(mem, 69617bv64) == 7bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); - free requires (memory_load8_le(mem, 69640bv64) == 8bv8); - free requires (memory_load8_le(mem, 69641bv64) == 16bv8); - free requires (memory_load8_le(mem, 69642bv64) == 1bv8); - free requires (memory_load8_le(mem, 69643bv64) == 0bv8); - free requires (memory_load8_le(mem, 69644bv64) == 0bv8); - free requires (memory_load8_le(mem, 69645bv64) == 0bv8); - free requires (memory_load8_le(mem, 69646bv64) == 0bv8); - free requires (memory_load8_le(mem, 69647bv64) == 0bv8); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); -{ - var #5: bv64; - var Gamma_#5: bool; - lmain: - #5, Gamma_#5 := bvadd64(R31, 18446744073709551584bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #5, R29), gamma_store64(Gamma_stack, #5, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#5, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#5, 8bv64), Gamma_R30); - R31, Gamma_R31 := #5, Gamma_#5; - R29, Gamma_R29 := R31, Gamma_R31; - R0, Gamma_R0 := 0bv64, true; - R0, Gamma_R0 := bvadd64(R0, 1876bv64), Gamma_R0; - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 24bv64), R0), gamma_store64(Gamma_stack, bvadd64(R31, 24bv64), Gamma_R0); - R0, Gamma_R0 := 0bv64, true; - R0, Gamma_R0 := bvadd64(R0, 2008bv64), Gamma_R0; - R30, Gamma_R30 := 1940bv64, true; - call puts(); - goto l00000a1f; - l00000a1f: - R0, Gamma_R0 := memory_load64_le(stack, bvadd64(R31, 24bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 24bv64)); - R30, Gamma_R30 := 1948bv64, true; - //UNRESOLVED: call R0 - assume false; - goto l00000a2e; - l00000a2e: - R0, Gamma_R0 := 0bv64, true; - R29, Gamma_R29 := memory_load64_le(stack, R31), gamma_load64(Gamma_stack, R31); - R30, Gamma_R30 := memory_load64_le(stack, bvadd64(R31, 8bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 8bv64)); - R31, Gamma_R31 := bvadd64(R31, 32bv64), Gamma_R31; - return; -} - -procedure puts(); - modifies Gamma_R16, Gamma_R17, R16, R17; diff --git a/src/test/correct/indirect_call/gcc_pic/indirect_call.expected b/src/test/correct/indirect_call/gcc_pic/indirect_call.expected deleted file mode 100644 index 48ffa6625..000000000 --- a/src/test/correct/indirect_call/gcc_pic/indirect_call.expected +++ /dev/null @@ -1,290 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R16: bool; -var Gamma_R17: bool; -var Gamma_R29: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R16: bv64; -var R17: bv64; -var R29: bv64; -var R30: bv64; -var R31: bv64; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -const $_IO_stdin_used_addr: bv64; -axiom ($_IO_stdin_used_addr == 2048bv64); -function L(memory: [bv64]bv8, index: bv64) returns (bool) { - false -} - -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -procedure rely(); - modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R0, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R16, R17, R29, R30, R31, stack; - free requires (memory_load8_le(mem, 2048bv64) == 1bv8); - free requires (memory_load8_le(mem, 2049bv64) == 0bv8); - free requires (memory_load8_le(mem, 2050bv64) == 2bv8); - free requires (memory_load8_le(mem, 2051bv64) == 0bv8); - free requires (memory_load8_le(mem, 2052bv64) == 0bv8); - free requires (memory_load8_le(mem, 2053bv64) == 0bv8); - free requires (memory_load8_le(mem, 2054bv64) == 0bv8); - free requires (memory_load8_le(mem, 2055bv64) == 0bv8); - free requires (memory_load8_le(mem, 2056bv64) == 72bv8); - free requires (memory_load8_le(mem, 2057bv64) == 101bv8); - free requires (memory_load8_le(mem, 2058bv64) == 108bv8); - free requires (memory_load8_le(mem, 2059bv64) == 108bv8); - free requires (memory_load8_le(mem, 2060bv64) == 111bv8); - free requires (memory_load8_le(mem, 2061bv64) == 44bv8); - free requires (memory_load8_le(mem, 2062bv64) == 32bv8); - free requires (memory_load8_le(mem, 2063bv64) == 119bv8); - free requires (memory_load8_le(mem, 2064bv64) == 111bv8); - free requires (memory_load8_le(mem, 2065bv64) == 114bv8); - free requires (memory_load8_le(mem, 2066bv64) == 108bv8); - free requires (memory_load8_le(mem, 2067bv64) == 100bv8); - free requires (memory_load8_le(mem, 2068bv64) == 33bv8); - free requires (memory_load8_le(mem, 2069bv64) == 0bv8); - free requires (memory_load8_le(mem, 2070bv64) == 0bv8); - free requires (memory_load8_le(mem, 2071bv64) == 0bv8); - free requires (memory_load8_le(mem, 2072bv64) == 67bv8); - free requires (memory_load8_le(mem, 2073bv64) == 97bv8); - free requires (memory_load8_le(mem, 2074bv64) == 108bv8); - free requires (memory_load8_le(mem, 2075bv64) == 108bv8); - free requires (memory_load8_le(mem, 2076bv64) == 105bv8); - free requires (memory_load8_le(mem, 2077bv64) == 110bv8); - free requires (memory_load8_le(mem, 2078bv64) == 103bv8); - free requires (memory_load8_le(mem, 2079bv64) == 32bv8); - free requires (memory_load8_le(mem, 2080bv64) == 103bv8); - free requires (memory_load8_le(mem, 2081bv64) == 114bv8); - free requires (memory_load8_le(mem, 2082bv64) == 101bv8); - free requires (memory_load8_le(mem, 2083bv64) == 101bv8); - free requires (memory_load8_le(mem, 2084bv64) == 116bv8); - free requires (memory_load8_le(mem, 2085bv64) == 40bv8); - free requires (memory_load8_le(mem, 2086bv64) == 41bv8); - free requires (memory_load8_le(mem, 2087bv64) == 32bv8); - free requires (memory_load8_le(mem, 2088bv64) == 105bv8); - free requires (memory_load8_le(mem, 2089bv64) == 110bv8); - free requires (memory_load8_le(mem, 2090bv64) == 100bv8); - free requires (memory_load8_le(mem, 2091bv64) == 105bv8); - free requires (memory_load8_le(mem, 2092bv64) == 114bv8); - free requires (memory_load8_le(mem, 2093bv64) == 101bv8); - free requires (memory_load8_le(mem, 2094bv64) == 99bv8); - free requires (memory_load8_le(mem, 2095bv64) == 116bv8); - free requires (memory_load8_le(mem, 2096bv64) == 108bv8); - free requires (memory_load8_le(mem, 2097bv64) == 121bv8); - free requires (memory_load8_le(mem, 2098bv64) == 58bv8); - free requires (memory_load8_le(mem, 2099bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 240bv8); - free requires (memory_load8_le(mem, 69537bv64) == 5bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 240bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 240bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 240bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 240bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 152bv8); - free requires (memory_load8_le(mem, 69577bv64) == 13bv8); - free requires (memory_load8_le(mem, 69578bv64) == 1bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 148bv8); - free requires (memory_load8_le(mem, 69601bv64) == 7bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 180bv8); - free requires (memory_load8_le(mem, 69617bv64) == 7bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); - free requires (memory_load8_le(mem, 69640bv64) == 8bv8); - free requires (memory_load8_le(mem, 69641bv64) == 16bv8); - free requires (memory_load8_le(mem, 69642bv64) == 1bv8); - free requires (memory_load8_le(mem, 69643bv64) == 0bv8); - free requires (memory_load8_le(mem, 69644bv64) == 0bv8); - free requires (memory_load8_le(mem, 69645bv64) == 0bv8); - free requires (memory_load8_le(mem, 69646bv64) == 0bv8); - free requires (memory_load8_le(mem, 69647bv64) == 0bv8); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); -{ - var #5: bv64; - var Gamma_#5: bool; - lmain: - #5, Gamma_#5 := bvadd64(R31, 18446744073709551584bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #5, R29), gamma_store64(Gamma_stack, #5, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#5, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#5, 8bv64), Gamma_R30); - R31, Gamma_R31 := #5, Gamma_#5; - R29, Gamma_R29 := R31, Gamma_R31; - R0, Gamma_R0 := 65536bv64, true; - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4064bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4064bv64)) || L(mem, bvadd64(R0, 4064bv64))); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 24bv64), R0), gamma_store64(Gamma_stack, bvadd64(R31, 24bv64), Gamma_R0); - R0, Gamma_R0 := 0bv64, true; - R0, Gamma_R0 := bvadd64(R0, 2072bv64), Gamma_R0; - R30, Gamma_R30 := 2004bv64, true; - call puts(); - goto l00000386; - l00000386: - R0, Gamma_R0 := memory_load64_le(stack, bvadd64(R31, 24bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 24bv64)); - R30, Gamma_R30 := 2012bv64, true; - //UNRESOLVED: call R0 - assume false; - goto l00000395; - l00000395: - R0, Gamma_R0 := 0bv64, true; - R29, Gamma_R29 := memory_load64_le(stack, R31), gamma_load64(Gamma_stack, R31); - R30, Gamma_R30 := memory_load64_le(stack, bvadd64(R31, 8bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 8bv64)); - R31, Gamma_R31 := bvadd64(R31, 32bv64), Gamma_R31; - return; -} - -procedure puts(); - modifies Gamma_R16, Gamma_R17, R16, R17; diff --git a/src/test/correct/jumptable/clang/jumptable.expected b/src/test/correct/jumptable/clang/jumptable.expected deleted file mode 100644 index 27dc7c18f..000000000 --- a/src/test/correct/jumptable/clang/jumptable.expected +++ /dev/null @@ -1,352 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R1: bool; -var Gamma_R29: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_R8: bool; -var Gamma_V0: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R1: bv64; -var R29: bv64; -var R30: bv64; -var R31: bv64; -var R8: bv64; -var V0: bv128; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -const $_IO_stdin_used_addr: bv64; -axiom ($_IO_stdin_used_addr == 2052bv64); -const $x_addr: bv64; -axiom ($x_addr == 69680bv64); -function L(memory: [bv64]bv8, index: bv64) returns (bool) { - false -} - -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function gamma_load128(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 15bv64)] && (gammaMap[bvadd64(index, 14bv64)] && (gammaMap[bvadd64(index, 13bv64)] && (gammaMap[bvadd64(index, 12bv64)] && (gammaMap[bvadd64(index, 11bv64)] && (gammaMap[bvadd64(index, 10bv64)] && (gammaMap[bvadd64(index, 9bv64)] && (gammaMap[bvadd64(index, 8bv64)] && (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))))))))))) -} - -function gamma_load32(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))) -} - -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store128(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value][bvadd64(index, 8bv64) := value][bvadd64(index, 9bv64) := value][bvadd64(index, 10bv64) := value][bvadd64(index, 11bv64) := value][bvadd64(index, 12bv64) := value][bvadd64(index, 13bv64) := value][bvadd64(index, 14bv64) := value][bvadd64(index, 15bv64) := value] -} - -function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load128_le(memory: [bv64]bv8, index: bv64) returns (bv128) { - (memory[bvadd64(index, 15bv64)] ++ (memory[bvadd64(index, 14bv64)] ++ (memory[bvadd64(index, 13bv64)] ++ (memory[bvadd64(index, 12bv64)] ++ (memory[bvadd64(index, 11bv64)] ++ (memory[bvadd64(index, 10bv64)] ++ (memory[bvadd64(index, 9bv64)] ++ (memory[bvadd64(index, 8bv64)] ++ (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))))))))))) -} - -function memory_load32_le(memory: [bv64]bv8, index: bv64) returns (bv32) { - (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))) -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store128_le(memory: [bv64]bv8, index: bv64, value: bv128) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]][bvadd64(index, 8bv64) := value[72:64]][bvadd64(index, 9bv64) := value[80:72]][bvadd64(index, 10bv64) := value[88:80]][bvadd64(index, 11bv64) := value[96:88]][bvadd64(index, 12bv64) := value[104:96]][bvadd64(index, 13bv64) := value[112:104]][bvadd64(index, 14bv64) := value[120:112]][bvadd64(index, 15bv64) := value[128:120]] -} - -function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); -procedure rely(); - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - free ensures (memory_load8_le(mem, 2052bv64) == 1bv8); - free ensures (memory_load8_le(mem, 2053bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2054bv64) == 2bv8); - free ensures (memory_load8_le(mem, 2055bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); - free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); - free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); - free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69048bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69072bv64) == 124bv8); - free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69040bv64) == 80bv8); - free ensures (memory_load8_le(mem, 69041bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69042bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69043bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69044bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69045bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69046bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69047bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69056bv64) == 84bv8); - free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69064bv64) == 104bv8); - free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69592bv64) == 144bv8); - free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_V0, Gamma_stack, R0, R29, R30, R31, R8, V0, stack; - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 40bv8); - free requires (memory_load8_le(mem, 69673bv64) == 16bv8); - free requires (memory_load8_le(mem, 69674bv64) == 1bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free requires (memory_load8_le(mem, 69680bv64) == 5bv8); - free requires (memory_load8_le(mem, 69681bv64) == 0bv8); - free requires (memory_load8_le(mem, 69682bv64) == 0bv8); - free requires (memory_load8_le(mem, 69683bv64) == 0bv8); - free requires (memory_load8_le(mem, 2052bv64) == 1bv8); - free requires (memory_load8_le(mem, 2053bv64) == 0bv8); - free requires (memory_load8_le(mem, 2054bv64) == 2bv8); - free requires (memory_load8_le(mem, 2055bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 40bv8); - free requires (memory_load8_le(mem, 69673bv64) == 16bv8); - free requires (memory_load8_le(mem, 69674bv64) == 1bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free requires (memory_load8_le(mem, 69048bv64) == 0bv8); - free requires (memory_load8_le(mem, 69049bv64) == 7bv8); - free requires (memory_load8_le(mem, 69050bv64) == 0bv8); - free requires (memory_load8_le(mem, 69051bv64) == 0bv8); - free requires (memory_load8_le(mem, 69052bv64) == 0bv8); - free requires (memory_load8_le(mem, 69053bv64) == 0bv8); - free requires (memory_load8_le(mem, 69054bv64) == 0bv8); - free requires (memory_load8_le(mem, 69055bv64) == 0bv8); - free requires (memory_load8_le(mem, 69072bv64) == 124bv8); - free requires (memory_load8_le(mem, 69073bv64) == 7bv8); - free requires (memory_load8_le(mem, 69074bv64) == 0bv8); - free requires (memory_load8_le(mem, 69075bv64) == 0bv8); - free requires (memory_load8_le(mem, 69076bv64) == 0bv8); - free requires (memory_load8_le(mem, 69077bv64) == 0bv8); - free requires (memory_load8_le(mem, 69078bv64) == 0bv8); - free requires (memory_load8_le(mem, 69079bv64) == 0bv8); - free requires (memory_load8_le(mem, 69040bv64) == 80bv8); - free requires (memory_load8_le(mem, 69041bv64) == 7bv8); - free requires (memory_load8_le(mem, 69042bv64) == 0bv8); - free requires (memory_load8_le(mem, 69043bv64) == 0bv8); - free requires (memory_load8_le(mem, 69044bv64) == 0bv8); - free requires (memory_load8_le(mem, 69045bv64) == 0bv8); - free requires (memory_load8_le(mem, 69046bv64) == 0bv8); - free requires (memory_load8_le(mem, 69047bv64) == 0bv8); - free requires (memory_load8_le(mem, 69056bv64) == 84bv8); - free requires (memory_load8_le(mem, 69057bv64) == 7bv8); - free requires (memory_load8_le(mem, 69058bv64) == 0bv8); - free requires (memory_load8_le(mem, 69059bv64) == 0bv8); - free requires (memory_load8_le(mem, 69060bv64) == 0bv8); - free requires (memory_load8_le(mem, 69061bv64) == 0bv8); - free requires (memory_load8_le(mem, 69062bv64) == 0bv8); - free requires (memory_load8_le(mem, 69063bv64) == 0bv8); - free requires (memory_load8_le(mem, 69064bv64) == 104bv8); - free requires (memory_load8_le(mem, 69065bv64) == 7bv8); - free requires (memory_load8_le(mem, 69066bv64) == 0bv8); - free requires (memory_load8_le(mem, 69067bv64) == 0bv8); - free requires (memory_load8_le(mem, 69068bv64) == 0bv8); - free requires (memory_load8_le(mem, 69069bv64) == 0bv8); - free requires (memory_load8_le(mem, 69070bv64) == 0bv8); - free requires (memory_load8_le(mem, 69071bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 144bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); - free ensures (memory_load8_le(mem, 2052bv64) == 1bv8); - free ensures (memory_load8_le(mem, 2053bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2054bv64) == 2bv8); - free ensures (memory_load8_le(mem, 2055bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); - free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); - free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); - free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69048bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69072bv64) == 124bv8); - free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69040bv64) == 80bv8); - free ensures (memory_load8_le(mem, 69041bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69042bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69043bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69044bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69045bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69046bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69047bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69056bv64) == 84bv8); - free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69064bv64) == 104bv8); - free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69592bv64) == 144bv8); - free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); -{ - var #5: bv64; - var #6: bv64; - var Gamma_#5: bool; - var Gamma_#6: bool; - lmain: - R31, Gamma_R31 := bvadd64(R31, 18446744073709551536bv64), Gamma_R31; - #5, Gamma_#5 := bvadd64(R31, 64bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #5, R29), gamma_store64(Gamma_stack, #5, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#5, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#5, 8bv64), Gamma_R30); - R29, Gamma_R29 := bvadd64(R31, 64bv64), Gamma_R31; - R8, Gamma_R8 := 0bv64, true; - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 12bv64), R8[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 12bv64), Gamma_R8); - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551612bv64), 0bv32), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551612bv64), true); - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551608bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551608bv64), Gamma_R0); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R29, 18446744073709551600bv64), R1), gamma_store64(Gamma_stack, bvadd64(R29, 18446744073709551600bv64), Gamma_R1); - R8, Gamma_R8 := 65536bv64, true; - R8, Gamma_R8 := bvadd64(R8, 3520bv64), Gamma_R8; - V0, Gamma_V0 := memory_load128_le(mem, R8), (gamma_load128(Gamma_mem, R8) || L(mem, R8)); - stack, Gamma_stack := memory_store128_le(stack, bvadd64(R31, 16bv64), V0), gamma_store128(Gamma_stack, bvadd64(R31, 16bv64), Gamma_V0); - R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R8, 16bv64)), (gamma_load64(Gamma_mem, bvadd64(R8, 16bv64)) || L(mem, bvadd64(R8, 16bv64))); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 32bv64), R8), gamma_store64(Gamma_stack, bvadd64(R31, 32bv64), Gamma_R8); - R8, Gamma_R8 := memory_load64_le(stack, bvadd64(R31, 16bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 16bv64)); - R30, Gamma_R30 := 2000bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l00000433; - l00000433: - R8, Gamma_R8 := memory_load64_le(stack, bvadd64(R31, 24bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 24bv64)); - R30, Gamma_R30 := 2008bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l00000442; - l00000442: - R8, Gamma_R8 := memory_load64_le(stack, bvadd64(R31, 32bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 32bv64)); - R30, Gamma_R30 := 2016bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l00000451; - l00000451: - R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 12bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 12bv64)); - #6, Gamma_#6 := bvadd64(R31, 64bv64), Gamma_R31; - R29, Gamma_R29 := memory_load64_le(stack, #6), gamma_load64(Gamma_stack, #6); - R30, Gamma_R30 := memory_load64_le(stack, bvadd64(#6, 8bv64)), gamma_load64(Gamma_stack, bvadd64(#6, 8bv64)); - R31, Gamma_R31 := bvadd64(R31, 80bv64), Gamma_R31; - return; -} diff --git a/src/test/correct/jumptable/clang_no_plt_no_pic/jumptable.expected b/src/test/correct/jumptable/clang_no_plt_no_pic/jumptable.expected deleted file mode 100644 index 0e496f5ac..000000000 --- a/src/test/correct/jumptable/clang_no_plt_no_pic/jumptable.expected +++ /dev/null @@ -1,436 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R1: bool; -var Gamma_R29: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_R8: bool; -var Gamma_V0: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R1: bv64; -var R29: bv64; -var R30: bv64; -var R31: bv64; -var R8: bv64; -var V0: bv128; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -const $_IO_stdin_used_addr: bv64; -axiom ($_IO_stdin_used_addr == 2056bv64); -const $x_addr: bv64; -axiom ($x_addr == 69680bv64); -function L(memory: [bv64]bv8, index: bv64) returns (bool) { - false -} - -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function gamma_load128(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 15bv64)] && (gammaMap[bvadd64(index, 14bv64)] && (gammaMap[bvadd64(index, 13bv64)] && (gammaMap[bvadd64(index, 12bv64)] && (gammaMap[bvadd64(index, 11bv64)] && (gammaMap[bvadd64(index, 10bv64)] && (gammaMap[bvadd64(index, 9bv64)] && (gammaMap[bvadd64(index, 8bv64)] && (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))))))))))) -} - -function gamma_load32(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))) -} - -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store128(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value][bvadd64(index, 8bv64) := value][bvadd64(index, 9bv64) := value][bvadd64(index, 10bv64) := value][bvadd64(index, 11bv64) := value][bvadd64(index, 12bv64) := value][bvadd64(index, 13bv64) := value][bvadd64(index, 14bv64) := value][bvadd64(index, 15bv64) := value] -} - -function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load128_le(memory: [bv64]bv8, index: bv64) returns (bv128) { - (memory[bvadd64(index, 15bv64)] ++ (memory[bvadd64(index, 14bv64)] ++ (memory[bvadd64(index, 13bv64)] ++ (memory[bvadd64(index, 12bv64)] ++ (memory[bvadd64(index, 11bv64)] ++ (memory[bvadd64(index, 10bv64)] ++ (memory[bvadd64(index, 9bv64)] ++ (memory[bvadd64(index, 8bv64)] ++ (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))))))))))) -} - -function memory_load32_le(memory: [bv64]bv8, index: bv64) returns (bv32) { - (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))) -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store128_le(memory: [bv64]bv8, index: bv64, value: bv128) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]][bvadd64(index, 8bv64) := value[72:64]][bvadd64(index, 9bv64) := value[80:72]][bvadd64(index, 10bv64) := value[88:80]][bvadd64(index, 11bv64) := value[96:88]][bvadd64(index, 12bv64) := value[104:96]][bvadd64(index, 13bv64) := value[112:104]][bvadd64(index, 14bv64) := value[120:112]][bvadd64(index, 15bv64) := value[128:120]] -} - -function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); -procedure rely(); - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - free ensures (memory_load8_le(mem, 2056bv64) == 1bv8); - free ensures (memory_load8_le(mem, 2057bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2058bv64) == 2bv8); - free ensures (memory_load8_le(mem, 2059bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2060bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2061bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2062bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2063bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2064bv64) == 84bv8); - free ensures (memory_load8_le(mem, 2065bv64) == 7bv8); - free ensures (memory_load8_le(mem, 2066bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2067bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2068bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2069bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2070bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2071bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2072bv64) == 104bv8); - free ensures (memory_load8_le(mem, 2073bv64) == 7bv8); - free ensures (memory_load8_le(mem, 2074bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2075bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2076bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2077bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2078bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2079bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2080bv64) == 124bv8); - free ensures (memory_load8_le(mem, 2081bv64) == 7bv8); - free ensures (memory_load8_le(mem, 2082bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2083bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2084bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2085bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2086bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2087bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2072bv64) == 104bv8); - free ensures (memory_load8_le(mem, 2073bv64) == 7bv8); - free ensures (memory_load8_le(mem, 2074bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2075bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2076bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2077bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2078bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2079bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); - free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); - free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); - free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2080bv64) == 124bv8); - free ensures (memory_load8_le(mem, 2081bv64) == 7bv8); - free ensures (memory_load8_le(mem, 2082bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2083bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2084bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2085bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2086bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2087bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2064bv64) == 84bv8); - free ensures (memory_load8_le(mem, 2065bv64) == 7bv8); - free ensures (memory_load8_le(mem, 2066bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2067bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2068bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2069bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2070bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2071bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69040bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69041bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69042bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69043bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69044bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69045bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69046bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69047bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69592bv64) == 144bv8); - free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69032bv64) == 80bv8); - free ensures (memory_load8_le(mem, 69033bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69034bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69035bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69036bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69037bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69038bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69039bv64) == 0bv8); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_V0, Gamma_stack, R0, R29, R30, R31, R8, V0, stack; - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 40bv8); - free requires (memory_load8_le(mem, 69673bv64) == 16bv8); - free requires (memory_load8_le(mem, 69674bv64) == 1bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free requires (memory_load8_le(mem, 69680bv64) == 5bv8); - free requires (memory_load8_le(mem, 69681bv64) == 0bv8); - free requires (memory_load8_le(mem, 69682bv64) == 0bv8); - free requires (memory_load8_le(mem, 69683bv64) == 0bv8); - free requires (memory_load8_le(mem, 2056bv64) == 1bv8); - free requires (memory_load8_le(mem, 2057bv64) == 0bv8); - free requires (memory_load8_le(mem, 2058bv64) == 2bv8); - free requires (memory_load8_le(mem, 2059bv64) == 0bv8); - free requires (memory_load8_le(mem, 2060bv64) == 0bv8); - free requires (memory_load8_le(mem, 2061bv64) == 0bv8); - free requires (memory_load8_le(mem, 2062bv64) == 0bv8); - free requires (memory_load8_le(mem, 2063bv64) == 0bv8); - free requires (memory_load8_le(mem, 2064bv64) == 84bv8); - free requires (memory_load8_le(mem, 2065bv64) == 7bv8); - free requires (memory_load8_le(mem, 2066bv64) == 0bv8); - free requires (memory_load8_le(mem, 2067bv64) == 0bv8); - free requires (memory_load8_le(mem, 2068bv64) == 0bv8); - free requires (memory_load8_le(mem, 2069bv64) == 0bv8); - free requires (memory_load8_le(mem, 2070bv64) == 0bv8); - free requires (memory_load8_le(mem, 2071bv64) == 0bv8); - free requires (memory_load8_le(mem, 2072bv64) == 104bv8); - free requires (memory_load8_le(mem, 2073bv64) == 7bv8); - free requires (memory_load8_le(mem, 2074bv64) == 0bv8); - free requires (memory_load8_le(mem, 2075bv64) == 0bv8); - free requires (memory_load8_le(mem, 2076bv64) == 0bv8); - free requires (memory_load8_le(mem, 2077bv64) == 0bv8); - free requires (memory_load8_le(mem, 2078bv64) == 0bv8); - free requires (memory_load8_le(mem, 2079bv64) == 0bv8); - free requires (memory_load8_le(mem, 2080bv64) == 124bv8); - free requires (memory_load8_le(mem, 2081bv64) == 7bv8); - free requires (memory_load8_le(mem, 2082bv64) == 0bv8); - free requires (memory_load8_le(mem, 2083bv64) == 0bv8); - free requires (memory_load8_le(mem, 2084bv64) == 0bv8); - free requires (memory_load8_le(mem, 2085bv64) == 0bv8); - free requires (memory_load8_le(mem, 2086bv64) == 0bv8); - free requires (memory_load8_le(mem, 2087bv64) == 0bv8); - free requires (memory_load8_le(mem, 2072bv64) == 104bv8); - free requires (memory_load8_le(mem, 2073bv64) == 7bv8); - free requires (memory_load8_le(mem, 2074bv64) == 0bv8); - free requires (memory_load8_le(mem, 2075bv64) == 0bv8); - free requires (memory_load8_le(mem, 2076bv64) == 0bv8); - free requires (memory_load8_le(mem, 2077bv64) == 0bv8); - free requires (memory_load8_le(mem, 2078bv64) == 0bv8); - free requires (memory_load8_le(mem, 2079bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 40bv8); - free requires (memory_load8_le(mem, 69673bv64) == 16bv8); - free requires (memory_load8_le(mem, 69674bv64) == 1bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free requires (memory_load8_le(mem, 2080bv64) == 124bv8); - free requires (memory_load8_le(mem, 2081bv64) == 7bv8); - free requires (memory_load8_le(mem, 2082bv64) == 0bv8); - free requires (memory_load8_le(mem, 2083bv64) == 0bv8); - free requires (memory_load8_le(mem, 2084bv64) == 0bv8); - free requires (memory_load8_le(mem, 2085bv64) == 0bv8); - free requires (memory_load8_le(mem, 2086bv64) == 0bv8); - free requires (memory_load8_le(mem, 2087bv64) == 0bv8); - free requires (memory_load8_le(mem, 2064bv64) == 84bv8); - free requires (memory_load8_le(mem, 2065bv64) == 7bv8); - free requires (memory_load8_le(mem, 2066bv64) == 0bv8); - free requires (memory_load8_le(mem, 2067bv64) == 0bv8); - free requires (memory_load8_le(mem, 2068bv64) == 0bv8); - free requires (memory_load8_le(mem, 2069bv64) == 0bv8); - free requires (memory_load8_le(mem, 2070bv64) == 0bv8); - free requires (memory_load8_le(mem, 2071bv64) == 0bv8); - free requires (memory_load8_le(mem, 69040bv64) == 0bv8); - free requires (memory_load8_le(mem, 69041bv64) == 7bv8); - free requires (memory_load8_le(mem, 69042bv64) == 0bv8); - free requires (memory_load8_le(mem, 69043bv64) == 0bv8); - free requires (memory_load8_le(mem, 69044bv64) == 0bv8); - free requires (memory_load8_le(mem, 69045bv64) == 0bv8); - free requires (memory_load8_le(mem, 69046bv64) == 0bv8); - free requires (memory_load8_le(mem, 69047bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 144bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69032bv64) == 80bv8); - free requires (memory_load8_le(mem, 69033bv64) == 7bv8); - free requires (memory_load8_le(mem, 69034bv64) == 0bv8); - free requires (memory_load8_le(mem, 69035bv64) == 0bv8); - free requires (memory_load8_le(mem, 69036bv64) == 0bv8); - free requires (memory_load8_le(mem, 69037bv64) == 0bv8); - free requires (memory_load8_le(mem, 69038bv64) == 0bv8); - free requires (memory_load8_le(mem, 69039bv64) == 0bv8); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); - free ensures (memory_load8_le(mem, 2056bv64) == 1bv8); - free ensures (memory_load8_le(mem, 2057bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2058bv64) == 2bv8); - free ensures (memory_load8_le(mem, 2059bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2060bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2061bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2062bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2063bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2064bv64) == 84bv8); - free ensures (memory_load8_le(mem, 2065bv64) == 7bv8); - free ensures (memory_load8_le(mem, 2066bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2067bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2068bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2069bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2070bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2071bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2072bv64) == 104bv8); - free ensures (memory_load8_le(mem, 2073bv64) == 7bv8); - free ensures (memory_load8_le(mem, 2074bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2075bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2076bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2077bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2078bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2079bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2080bv64) == 124bv8); - free ensures (memory_load8_le(mem, 2081bv64) == 7bv8); - free ensures (memory_load8_le(mem, 2082bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2083bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2084bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2085bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2086bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2087bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2072bv64) == 104bv8); - free ensures (memory_load8_le(mem, 2073bv64) == 7bv8); - free ensures (memory_load8_le(mem, 2074bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2075bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2076bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2077bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2078bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2079bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); - free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); - free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); - free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2080bv64) == 124bv8); - free ensures (memory_load8_le(mem, 2081bv64) == 7bv8); - free ensures (memory_load8_le(mem, 2082bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2083bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2084bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2085bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2086bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2087bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2064bv64) == 84bv8); - free ensures (memory_load8_le(mem, 2065bv64) == 7bv8); - free ensures (memory_load8_le(mem, 2066bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2067bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2068bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2069bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2070bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2071bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69040bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69041bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69042bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69043bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69044bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69045bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69046bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69047bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69592bv64) == 144bv8); - free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69032bv64) == 80bv8); - free ensures (memory_load8_le(mem, 69033bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69034bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69035bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69036bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69037bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69038bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69039bv64) == 0bv8); -{ - var #5: bv64; - var #6: bv64; - var Gamma_#5: bool; - var Gamma_#6: bool; - lmain: - R31, Gamma_R31 := bvadd64(R31, 18446744073709551536bv64), Gamma_R31; - #5, Gamma_#5 := bvadd64(R31, 64bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #5, R29), gamma_store64(Gamma_stack, #5, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#5, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#5, 8bv64), Gamma_R30); - R29, Gamma_R29 := bvadd64(R31, 64bv64), Gamma_R31; - R8, Gamma_R8 := 0bv64, true; - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 12bv64), R8[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 12bv64), Gamma_R8); - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551612bv64), 0bv32), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551612bv64), true); - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551608bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551608bv64), Gamma_R0); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R29, 18446744073709551600bv64), R1), gamma_store64(Gamma_stack, bvadd64(R29, 18446744073709551600bv64), Gamma_R1); - R8, Gamma_R8 := 0bv64, true; - R8, Gamma_R8 := bvadd64(R8, 2064bv64), Gamma_R8; - V0, Gamma_V0 := memory_load128_le(mem, R8), (gamma_load128(Gamma_mem, R8) || L(mem, R8)); - stack, Gamma_stack := memory_store128_le(stack, bvadd64(R31, 16bv64), V0), gamma_store128(Gamma_stack, bvadd64(R31, 16bv64), Gamma_V0); - R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R8, 16bv64)), (gamma_load64(Gamma_mem, bvadd64(R8, 16bv64)) || L(mem, bvadd64(R8, 16bv64))); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 32bv64), R8), gamma_store64(Gamma_stack, bvadd64(R31, 32bv64), Gamma_R8); - R8, Gamma_R8 := memory_load64_le(stack, bvadd64(R31, 16bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 16bv64)); - R30, Gamma_R30 := 2000bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l00000b8d; - l00000b8d: - R8, Gamma_R8 := memory_load64_le(stack, bvadd64(R31, 24bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 24bv64)); - R30, Gamma_R30 := 2008bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l00000b9c; - l00000b9c: - R8, Gamma_R8 := memory_load64_le(stack, bvadd64(R31, 32bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 32bv64)); - R30, Gamma_R30 := 2016bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l00000bab; - l00000bab: - R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 12bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 12bv64)); - #6, Gamma_#6 := bvadd64(R31, 64bv64), Gamma_R31; - R29, Gamma_R29 := memory_load64_le(stack, #6), gamma_load64(Gamma_stack, #6); - R30, Gamma_R30 := memory_load64_le(stack, bvadd64(#6, 8bv64)), gamma_load64(Gamma_stack, bvadd64(#6, 8bv64)); - R31, Gamma_R31 := bvadd64(R31, 80bv64), Gamma_R31; - return; -} diff --git a/src/test/correct/jumptable/clang_pic/jumptable.expected b/src/test/correct/jumptable/clang_pic/jumptable.expected deleted file mode 100644 index 6d68b589c..000000000 --- a/src/test/correct/jumptable/clang_pic/jumptable.expected +++ /dev/null @@ -1,376 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R1: bool; -var Gamma_R29: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_R8: bool; -var Gamma_V0: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R1: bv64; -var R29: bv64; -var R30: bv64; -var R31: bv64; -var R8: bv64; -var V0: bv128; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -const $_IO_stdin_used_addr: bv64; -axiom ($_IO_stdin_used_addr == 2128bv64); -const $x_addr: bv64; -axiom ($x_addr == 69680bv64); -function L(memory: [bv64]bv8, index: bv64) returns (bool) { - false -} - -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function gamma_load128(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 15bv64)] && (gammaMap[bvadd64(index, 14bv64)] && (gammaMap[bvadd64(index, 13bv64)] && (gammaMap[bvadd64(index, 12bv64)] && (gammaMap[bvadd64(index, 11bv64)] && (gammaMap[bvadd64(index, 10bv64)] && (gammaMap[bvadd64(index, 9bv64)] && (gammaMap[bvadd64(index, 8bv64)] && (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))))))))))) -} - -function gamma_load32(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))) -} - -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store128(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value][bvadd64(index, 8bv64) := value][bvadd64(index, 9bv64) := value][bvadd64(index, 10bv64) := value][bvadd64(index, 11bv64) := value][bvadd64(index, 12bv64) := value][bvadd64(index, 13bv64) := value][bvadd64(index, 14bv64) := value][bvadd64(index, 15bv64) := value] -} - -function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load128_le(memory: [bv64]bv8, index: bv64) returns (bv128) { - (memory[bvadd64(index, 15bv64)] ++ (memory[bvadd64(index, 14bv64)] ++ (memory[bvadd64(index, 13bv64)] ++ (memory[bvadd64(index, 12bv64)] ++ (memory[bvadd64(index, 11bv64)] ++ (memory[bvadd64(index, 10bv64)] ++ (memory[bvadd64(index, 9bv64)] ++ (memory[bvadd64(index, 8bv64)] ++ (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))))))))))) -} - -function memory_load32_le(memory: [bv64]bv8, index: bv64) returns (bv32) { - (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))) -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store128_le(memory: [bv64]bv8, index: bv64, value: bv128) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]][bvadd64(index, 8bv64) := value[72:64]][bvadd64(index, 9bv64) := value[80:72]][bvadd64(index, 10bv64) := value[88:80]][bvadd64(index, 11bv64) := value[96:88]][bvadd64(index, 12bv64) := value[104:96]][bvadd64(index, 13bv64) := value[112:104]][bvadd64(index, 14bv64) := value[120:112]][bvadd64(index, 15bv64) := value[128:120]] -} - -function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); -procedure rely(); - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - free ensures (memory_load8_le(mem, 2128bv64) == 1bv8); - free ensures (memory_load8_le(mem, 2129bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2130bv64) == 2bv8); - free ensures (memory_load8_le(mem, 2131bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69576bv64) == 48bv8); - free ensures (memory_load8_le(mem, 69577bv64) == 16bv8); - free ensures (memory_load8_le(mem, 69578bv64) == 1bv8); - free ensures (memory_load8_le(mem, 69579bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69580bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69581bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69582bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69583bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); - free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); - free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); - free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69048bv64) == 148bv8); - free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69040bv64) == 64bv8); - free ensures (memory_load8_le(mem, 69041bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69042bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69043bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69044bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69045bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69046bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69047bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69032bv64) == 144bv8); - free ensures (memory_load8_le(mem, 69033bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69034bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69035bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69036bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69037bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69038bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69039bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69056bv64) == 172bv8); - free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69064bv64) == 196bv8); - free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69592bv64) == 220bv8); - free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_V0, Gamma_stack, R0, R29, R30, R31, R8, V0, stack; - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 40bv8); - free requires (memory_load8_le(mem, 69673bv64) == 16bv8); - free requires (memory_load8_le(mem, 69674bv64) == 1bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free requires (memory_load8_le(mem, 69680bv64) == 5bv8); - free requires (memory_load8_le(mem, 69681bv64) == 0bv8); - free requires (memory_load8_le(mem, 69682bv64) == 0bv8); - free requires (memory_load8_le(mem, 69683bv64) == 0bv8); - free requires (memory_load8_le(mem, 2128bv64) == 1bv8); - free requires (memory_load8_le(mem, 2129bv64) == 0bv8); - free requires (memory_load8_le(mem, 2130bv64) == 2bv8); - free requires (memory_load8_le(mem, 2131bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 48bv8); - free requires (memory_load8_le(mem, 69577bv64) == 16bv8); - free requires (memory_load8_le(mem, 69578bv64) == 1bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 40bv8); - free requires (memory_load8_le(mem, 69673bv64) == 16bv8); - free requires (memory_load8_le(mem, 69674bv64) == 1bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free requires (memory_load8_le(mem, 69048bv64) == 148bv8); - free requires (memory_load8_le(mem, 69049bv64) == 7bv8); - free requires (memory_load8_le(mem, 69050bv64) == 0bv8); - free requires (memory_load8_le(mem, 69051bv64) == 0bv8); - free requires (memory_load8_le(mem, 69052bv64) == 0bv8); - free requires (memory_load8_le(mem, 69053bv64) == 0bv8); - free requires (memory_load8_le(mem, 69054bv64) == 0bv8); - free requires (memory_load8_le(mem, 69055bv64) == 0bv8); - free requires (memory_load8_le(mem, 69040bv64) == 64bv8); - free requires (memory_load8_le(mem, 69041bv64) == 7bv8); - free requires (memory_load8_le(mem, 69042bv64) == 0bv8); - free requires (memory_load8_le(mem, 69043bv64) == 0bv8); - free requires (memory_load8_le(mem, 69044bv64) == 0bv8); - free requires (memory_load8_le(mem, 69045bv64) == 0bv8); - free requires (memory_load8_le(mem, 69046bv64) == 0bv8); - free requires (memory_load8_le(mem, 69047bv64) == 0bv8); - free requires (memory_load8_le(mem, 69032bv64) == 144bv8); - free requires (memory_load8_le(mem, 69033bv64) == 7bv8); - free requires (memory_load8_le(mem, 69034bv64) == 0bv8); - free requires (memory_load8_le(mem, 69035bv64) == 0bv8); - free requires (memory_load8_le(mem, 69036bv64) == 0bv8); - free requires (memory_load8_le(mem, 69037bv64) == 0bv8); - free requires (memory_load8_le(mem, 69038bv64) == 0bv8); - free requires (memory_load8_le(mem, 69039bv64) == 0bv8); - free requires (memory_load8_le(mem, 69056bv64) == 172bv8); - free requires (memory_load8_le(mem, 69057bv64) == 7bv8); - free requires (memory_load8_le(mem, 69058bv64) == 0bv8); - free requires (memory_load8_le(mem, 69059bv64) == 0bv8); - free requires (memory_load8_le(mem, 69060bv64) == 0bv8); - free requires (memory_load8_le(mem, 69061bv64) == 0bv8); - free requires (memory_load8_le(mem, 69062bv64) == 0bv8); - free requires (memory_load8_le(mem, 69063bv64) == 0bv8); - free requires (memory_load8_le(mem, 69064bv64) == 196bv8); - free requires (memory_load8_le(mem, 69065bv64) == 7bv8); - free requires (memory_load8_le(mem, 69066bv64) == 0bv8); - free requires (memory_load8_le(mem, 69067bv64) == 0bv8); - free requires (memory_load8_le(mem, 69068bv64) == 0bv8); - free requires (memory_load8_le(mem, 69069bv64) == 0bv8); - free requires (memory_load8_le(mem, 69070bv64) == 0bv8); - free requires (memory_load8_le(mem, 69071bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 220bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); - free ensures (memory_load8_le(mem, 2128bv64) == 1bv8); - free ensures (memory_load8_le(mem, 2129bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2130bv64) == 2bv8); - free ensures (memory_load8_le(mem, 2131bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69576bv64) == 48bv8); - free ensures (memory_load8_le(mem, 69577bv64) == 16bv8); - free ensures (memory_load8_le(mem, 69578bv64) == 1bv8); - free ensures (memory_load8_le(mem, 69579bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69580bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69581bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69582bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69583bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); - free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); - free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); - free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69048bv64) == 148bv8); - free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69040bv64) == 64bv8); - free ensures (memory_load8_le(mem, 69041bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69042bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69043bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69044bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69045bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69046bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69047bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69032bv64) == 144bv8); - free ensures (memory_load8_le(mem, 69033bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69034bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69035bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69036bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69037bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69038bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69039bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69056bv64) == 172bv8); - free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69064bv64) == 196bv8); - free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69592bv64) == 220bv8); - free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); -{ - var #5: bv64; - var #6: bv64; - var Gamma_#5: bool; - var Gamma_#6: bool; - lmain: - R31, Gamma_R31 := bvadd64(R31, 18446744073709551536bv64), Gamma_R31; - #5, Gamma_#5 := bvadd64(R31, 64bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #5, R29), gamma_store64(Gamma_stack, #5, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#5, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#5, 8bv64), Gamma_R30); - R29, Gamma_R29 := bvadd64(R31, 64bv64), Gamma_R31; - R8, Gamma_R8 := 0bv64, true; - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 12bv64), R8[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 12bv64), Gamma_R8); - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551612bv64), 0bv32), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551612bv64), true); - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551608bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551608bv64), Gamma_R0); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R29, 18446744073709551600bv64), R1), gamma_store64(Gamma_stack, bvadd64(R29, 18446744073709551600bv64), Gamma_R1); - R8, Gamma_R8 := 65536bv64, true; - R8, Gamma_R8 := bvadd64(R8, 3512bv64), Gamma_R8; - V0, Gamma_V0 := memory_load128_le(mem, R8), (gamma_load128(Gamma_mem, R8) || L(mem, R8)); - stack, Gamma_stack := memory_store128_le(stack, bvadd64(R31, 16bv64), V0), gamma_store128(Gamma_stack, bvadd64(R31, 16bv64), Gamma_V0); - R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R8, 16bv64)), (gamma_load64(Gamma_mem, bvadd64(R8, 16bv64)) || L(mem, bvadd64(R8, 16bv64))); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 32bv64), R8), gamma_store64(Gamma_stack, bvadd64(R31, 32bv64), Gamma_R8); - R8, Gamma_R8 := memory_load64_le(stack, bvadd64(R31, 16bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 16bv64)); - R30, Gamma_R30 := 2076bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l00000454; - l00000454: - R8, Gamma_R8 := memory_load64_le(stack, bvadd64(R31, 24bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 24bv64)); - R30, Gamma_R30 := 2084bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l00000463; - l00000463: - R8, Gamma_R8 := memory_load64_le(stack, bvadd64(R31, 32bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 32bv64)); - R30, Gamma_R30 := 2092bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l00000472; - l00000472: - R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 12bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 12bv64)); - #6, Gamma_#6 := bvadd64(R31, 64bv64), Gamma_R31; - R29, Gamma_R29 := memory_load64_le(stack, #6), gamma_load64(Gamma_stack, #6); - R30, Gamma_R30 := memory_load64_le(stack, bvadd64(#6, 8bv64)), gamma_load64(Gamma_stack, bvadd64(#6, 8bv64)); - R31, Gamma_R31 := bvadd64(R31, 80bv64), Gamma_R31; - return; -} diff --git a/src/test/correct/jumptable/gcc/jumptable.expected b/src/test/correct/jumptable/gcc/jumptable.expected deleted file mode 100644 index 9e8e26baf..000000000 --- a/src/test/correct/jumptable/gcc/jumptable.expected +++ /dev/null @@ -1,355 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R1: bool; -var Gamma_R16: bool; -var Gamma_R17: bool; -var Gamma_R2: bool; -var Gamma_R29: bool; -var Gamma_R3: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R1: bv64; -var R16: bv64; -var R17: bv64; -var R2: bv64; -var R29: bv64; -var R3: bv64; -var R30: bv64; -var R31: bv64; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -const $_IO_stdin_used_addr: bv64; -axiom ($_IO_stdin_used_addr == 2404bv64); -const $x_addr: bv64; -axiom ($x_addr == 69648bv64); -function L(memory: [bv64]bv8, index: bv64) returns (bool) { - false -} - -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function {:bvbuiltin "bvadd"} bvadd65(bv65, bv65) returns (bv65); -function {:bvbuiltin "bvcomp"} bvcomp1(bv1, bv1) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp64(bv64, bv64) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp65(bv65, bv65) returns (bv1); -function {:bvbuiltin "bvnot"} bvnot1(bv1) returns (bv1); -function {:bvbuiltin "bvnot"} bvnot64(bv64) returns (bv64); -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -function {:bvbuiltin "sign_extend 1"} sign_extend1_64(bv64) returns (bv65); -function {:bvbuiltin "zero_extend 1"} zero_extend1_64(bv64) returns (bv65); -function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); -procedure rely(); - modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure __stack_chk_fail(); - modifies Gamma_R16, Gamma_R17, R16, R17; - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R2, Gamma_R29, Gamma_R3, Gamma_R30, Gamma_R31, Gamma_stack, R0, R1, R16, R17, R2, R29, R3, R30, R31, stack; - free requires (memory_load8_le(mem, 2404bv64) == 1bv8); - free requires (memory_load8_le(mem, 2405bv64) == 0bv8); - free requires (memory_load8_le(mem, 2406bv64) == 2bv8); - free requires (memory_load8_le(mem, 2407bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 160bv8); - free requires (memory_load8_le(mem, 69537bv64) == 6bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 160bv8); - free requires (memory_load8_le(mem, 69545bv64) == 6bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 6bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 6bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 6bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 136bv8); - free requires (memory_load8_le(mem, 69577bv64) == 13bv8); - free requires (memory_load8_le(mem, 69578bv64) == 1bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 192bv8); - free requires (memory_load8_le(mem, 69617bv64) == 8bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); - free requires (memory_load8_le(mem, 69640bv64) == 8bv8); - free requires (memory_load8_le(mem, 69641bv64) == 16bv8); - free requires (memory_load8_le(mem, 69642bv64) == 1bv8); - free requires (memory_load8_le(mem, 69643bv64) == 0bv8); - free requires (memory_load8_le(mem, 69644bv64) == 0bv8); - free requires (memory_load8_le(mem, 69645bv64) == 0bv8); - free requires (memory_load8_le(mem, 69646bv64) == 0bv8); - free requires (memory_load8_le(mem, 69647bv64) == 0bv8); - free requires (memory_load8_le(mem, 69648bv64) == 5bv8); - free requires (memory_load8_le(mem, 69649bv64) == 0bv8); - free requires (memory_load8_le(mem, 69650bv64) == 0bv8); - free requires (memory_load8_le(mem, 69651bv64) == 0bv8); - free requires (memory_load8_le(mem, 69652bv64) == 0bv8); - free requires (memory_load8_le(mem, 69653bv64) == 0bv8); - free requires (memory_load8_le(mem, 69654bv64) == 0bv8); - free requires (memory_load8_le(mem, 69655bv64) == 0bv8); - free requires (memory_load8_le(mem, 69656bv64) == 84bv8); - free requires (memory_load8_le(mem, 69657bv64) == 8bv8); - free requires (memory_load8_le(mem, 69658bv64) == 0bv8); - free requires (memory_load8_le(mem, 69659bv64) == 0bv8); - free requires (memory_load8_le(mem, 69660bv64) == 0bv8); - free requires (memory_load8_le(mem, 69661bv64) == 0bv8); - free requires (memory_load8_le(mem, 69662bv64) == 0bv8); - free requires (memory_load8_le(mem, 69663bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 120bv8); - free requires (memory_load8_le(mem, 69665bv64) == 8bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 156bv8); - free requires (memory_load8_le(mem, 69673bv64) == 8bv8); - free requires (memory_load8_le(mem, 69674bv64) == 0bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); -{ - var #4: bv64; - var #5: bv64; - var #6: bv64; - var CF: bv1; - var Gamma_#4: bool; - var Gamma_#5: bool; - var Gamma_#6: bool; - var Gamma_CF: bool; - var Gamma_NF: bool; - var Gamma_VF: bool; - var Gamma_ZF: bool; - var NF: bv1; - var VF: bv1; - var ZF: bv1; - lmain: - #4, Gamma_#4 := bvadd64(R31, 18446744073709551552bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #4, R29), gamma_store64(Gamma_stack, #4, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#4, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#4, 8bv64), Gamma_R30); - R31, Gamma_R31 := #4, Gamma_#4; - R29, Gamma_R29 := R31, Gamma_R31; - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 28bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 28bv64), Gamma_R0); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R1), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R1); - R0, Gamma_R0 := 65536bv64, true; - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4072bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4072bv64)) || L(mem, bvadd64(R0, 4072bv64))); - R1, Gamma_R1 := memory_load64_le(mem, R0), (gamma_load64(Gamma_mem, R0) || L(mem, R0)); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 56bv64), R1), gamma_store64(Gamma_stack, bvadd64(R31, 56bv64), Gamma_R1); - R1, Gamma_R1 := 0bv64, true; - R0, Gamma_R0 := 69632bv64, true; - R0, Gamma_R0 := bvadd64(R0, 24bv64), Gamma_R0; - R2, Gamma_R2 := bvadd64(R31, 32bv64), Gamma_R31; - R3, Gamma_R3 := R0, Gamma_R0; - R0, Gamma_R0 := memory_load64_le(mem, R3), (gamma_load64(Gamma_mem, R3) || L(mem, R3)); - R1, Gamma_R1 := memory_load64_le(mem, bvadd64(R3, 8bv64)), (gamma_load64(Gamma_mem, bvadd64(R3, 8bv64)) || L(mem, bvadd64(R3, 8bv64))); - stack, Gamma_stack := memory_store64_le(stack, R2, R0), gamma_store64(Gamma_stack, R2, Gamma_R0); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R2, 8bv64), R1), gamma_store64(Gamma_stack, bvadd64(R2, 8bv64), Gamma_R1); - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R3, 16bv64)), (gamma_load64(Gamma_mem, bvadd64(R3, 16bv64)) || L(mem, bvadd64(R3, 16bv64))); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R2, 16bv64), R0), gamma_store64(Gamma_stack, bvadd64(R2, 16bv64), Gamma_R0); - R0, Gamma_R0 := memory_load64_le(stack, bvadd64(R31, 32bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 32bv64)); - R30, Gamma_R30 := 2316bv64, true; - //UNRESOLVED: call R0 - assume false; - goto l000004d7; - l000004d7: - R0, Gamma_R0 := memory_load64_le(stack, bvadd64(R31, 40bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 40bv64)); - R30, Gamma_R30 := 2324bv64, true; - //UNRESOLVED: call R0 - assume false; - goto l000004e6; - l000004e6: - R0, Gamma_R0 := memory_load64_le(stack, bvadd64(R31, 48bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 48bv64)); - R30, Gamma_R30 := 2332bv64, true; - //UNRESOLVED: call R0 - assume false; - goto l000004f5; - l000004f5: - R0, Gamma_R0 := 0bv64, true; - R1, Gamma_R1 := zero_extend32_32(R0[32:0]), Gamma_R0; - R0, Gamma_R0 := 65536bv64, true; - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4072bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4072bv64)) || L(mem, bvadd64(R0, 4072bv64))); - R3, Gamma_R3 := memory_load64_le(stack, bvadd64(R31, 56bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 56bv64)); - R2, Gamma_R2 := memory_load64_le(mem, R0), (gamma_load64(Gamma_mem, R0) || L(mem, R0)); - #5, Gamma_#5 := bvnot64(R2), Gamma_R2; - #6, Gamma_#6 := bvadd64(R3, bvnot64(R2)), (Gamma_R2 && Gamma_R3); - VF, Gamma_VF := bvnot1(bvcomp65(sign_extend1_64(bvadd64(#6, 1bv64)), bvadd65(bvadd65(sign_extend1_64(R3), sign_extend1_64(#5)), 1bv65))), (Gamma_#5 && (Gamma_R3 && Gamma_#6)); - CF, Gamma_CF := bvnot1(bvcomp65(zero_extend1_64(bvadd64(#6, 1bv64)), bvadd65(bvadd65(zero_extend1_64(R3), zero_extend1_64(#5)), 1bv65))), (Gamma_#5 && (Gamma_R3 && Gamma_#6)); - ZF, Gamma_ZF := bvcomp64(bvadd64(#6, 1bv64), 0bv64), Gamma_#6; - NF, Gamma_NF := bvadd64(#6, 1bv64)[64:63], Gamma_#6; - R3, Gamma_R3 := bvadd64(#6, 1bv64), Gamma_#6; - R2, Gamma_R2 := 0bv64, true; - assert Gamma_ZF; - if ((bvcomp1(ZF, 1bv1) != 0bv1)) { - goto l00000544; - } - goto l00000564; - l00000564: - R30, Gamma_R30 := 2372bv64, true; - call __stack_chk_fail(); - goto l00000544; - l00000544: - R0, Gamma_R0 := zero_extend32_32(R1[32:0]), Gamma_R1; - R29, Gamma_R29 := memory_load64_le(stack, R31), gamma_load64(Gamma_stack, R31); - R30, Gamma_R30 := memory_load64_le(stack, bvadd64(R31, 8bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 8bv64)); - R31, Gamma_R31 := bvadd64(R31, 64bv64), Gamma_R31; - return; -} diff --git a/src/test/correct/jumptable/gcc_pic/jumptable.expected b/src/test/correct/jumptable/gcc_pic/jumptable.expected deleted file mode 100644 index eb451873d..000000000 --- a/src/test/correct/jumptable/gcc_pic/jumptable.expected +++ /dev/null @@ -1,363 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R1: bool; -var Gamma_R16: bool; -var Gamma_R17: bool; -var Gamma_R2: bool; -var Gamma_R29: bool; -var Gamma_R3: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R1: bv64; -var R16: bv64; -var R17: bv64; -var R2: bv64; -var R29: bv64; -var R3: bv64; -var R30: bv64; -var R31: bv64; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -const $_IO_stdin_used_addr: bv64; -axiom ($_IO_stdin_used_addr == 2404bv64); -const $x_addr: bv64; -axiom ($x_addr == 69648bv64); -function L(memory: [bv64]bv8, index: bv64) returns (bool) { - false -} - -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function {:bvbuiltin "bvadd"} bvadd65(bv65, bv65) returns (bv65); -function {:bvbuiltin "bvcomp"} bvcomp1(bv1, bv1) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp64(bv64, bv64) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp65(bv65, bv65) returns (bv1); -function {:bvbuiltin "bvnot"} bvnot1(bv1) returns (bv1); -function {:bvbuiltin "bvnot"} bvnot64(bv64) returns (bv64); -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -function {:bvbuiltin "sign_extend 1"} sign_extend1_64(bv64) returns (bv65); -function {:bvbuiltin "zero_extend 1"} zero_extend1_64(bv64) returns (bv65); -function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); -procedure rely(); - modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure __stack_chk_fail(); - modifies Gamma_R16, Gamma_R17, R16, R17; - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R2, Gamma_R29, Gamma_R3, Gamma_R30, Gamma_R31, Gamma_stack, R0, R1, R16, R17, R2, R29, R3, R30, R31, stack; - free requires (memory_load8_le(mem, 2404bv64) == 1bv8); - free requires (memory_load8_le(mem, 2405bv64) == 0bv8); - free requires (memory_load8_le(mem, 2406bv64) == 2bv8); - free requires (memory_load8_le(mem, 2407bv64) == 0bv8); - free requires (memory_load8_le(mem, 69504bv64) == 0bv8); - free requires (memory_load8_le(mem, 69505bv64) == 0bv8); - free requires (memory_load8_le(mem, 69506bv64) == 0bv8); - free requires (memory_load8_le(mem, 69507bv64) == 0bv8); - free requires (memory_load8_le(mem, 69508bv64) == 0bv8); - free requires (memory_load8_le(mem, 69509bv64) == 0bv8); - free requires (memory_load8_le(mem, 69510bv64) == 0bv8); - free requires (memory_load8_le(mem, 69511bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 192bv8); - free requires (memory_load8_le(mem, 69529bv64) == 6bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 192bv8); - free requires (memory_load8_le(mem, 69537bv64) == 6bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 192bv8); - free requires (memory_load8_le(mem, 69545bv64) == 6bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 192bv8); - free requires (memory_load8_le(mem, 69553bv64) == 6bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 192bv8); - free requires (memory_load8_le(mem, 69561bv64) == 6bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 128bv8); - free requires (memory_load8_le(mem, 69569bv64) == 13bv8); - free requires (memory_load8_le(mem, 69570bv64) == 1bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 16bv8); - free requires (memory_load8_le(mem, 69593bv64) == 16bv8); - free requires (memory_load8_le(mem, 69594bv64) == 1bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 192bv8); - free requires (memory_load8_le(mem, 69617bv64) == 8bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); - free requires (memory_load8_le(mem, 69640bv64) == 8bv8); - free requires (memory_load8_le(mem, 69641bv64) == 16bv8); - free requires (memory_load8_le(mem, 69642bv64) == 1bv8); - free requires (memory_load8_le(mem, 69643bv64) == 0bv8); - free requires (memory_load8_le(mem, 69644bv64) == 0bv8); - free requires (memory_load8_le(mem, 69645bv64) == 0bv8); - free requires (memory_load8_le(mem, 69646bv64) == 0bv8); - free requires (memory_load8_le(mem, 69647bv64) == 0bv8); - free requires (memory_load8_le(mem, 69648bv64) == 5bv8); - free requires (memory_load8_le(mem, 69649bv64) == 0bv8); - free requires (memory_load8_le(mem, 69650bv64) == 0bv8); - free requires (memory_load8_le(mem, 69651bv64) == 0bv8); - free requires (memory_load8_le(mem, 69652bv64) == 0bv8); - free requires (memory_load8_le(mem, 69653bv64) == 0bv8); - free requires (memory_load8_le(mem, 69654bv64) == 0bv8); - free requires (memory_load8_le(mem, 69655bv64) == 0bv8); - free requires (memory_load8_le(mem, 69656bv64) == 84bv8); - free requires (memory_load8_le(mem, 69657bv64) == 8bv8); - free requires (memory_load8_le(mem, 69658bv64) == 0bv8); - free requires (memory_load8_le(mem, 69659bv64) == 0bv8); - free requires (memory_load8_le(mem, 69660bv64) == 0bv8); - free requires (memory_load8_le(mem, 69661bv64) == 0bv8); - free requires (memory_load8_le(mem, 69662bv64) == 0bv8); - free requires (memory_load8_le(mem, 69663bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 120bv8); - free requires (memory_load8_le(mem, 69665bv64) == 8bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 156bv8); - free requires (memory_load8_le(mem, 69673bv64) == 8bv8); - free requires (memory_load8_le(mem, 69674bv64) == 0bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); -{ - var #4: bv64; - var #5: bv64; - var #6: bv64; - var CF: bv1; - var Gamma_#4: bool; - var Gamma_#5: bool; - var Gamma_#6: bool; - var Gamma_CF: bool; - var Gamma_NF: bool; - var Gamma_VF: bool; - var Gamma_ZF: bool; - var NF: bv1; - var VF: bv1; - var ZF: bv1; - lmain: - #4, Gamma_#4 := bvadd64(R31, 18446744073709551552bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #4, R29), gamma_store64(Gamma_stack, #4, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#4, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#4, 8bv64), Gamma_R30); - R31, Gamma_R31 := #4, Gamma_#4; - R29, Gamma_R29 := R31, Gamma_R31; - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 28bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 28bv64), Gamma_R0); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R1), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R1); - R0, Gamma_R0 := 65536bv64, true; - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4072bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4072bv64)) || L(mem, bvadd64(R0, 4072bv64))); - R1, Gamma_R1 := memory_load64_le(mem, R0), (gamma_load64(Gamma_mem, R0) || L(mem, R0)); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 56bv64), R1), gamma_store64(Gamma_stack, bvadd64(R31, 56bv64), Gamma_R1); - R1, Gamma_R1 := 0bv64, true; - R0, Gamma_R0 := 69632bv64, true; - R0, Gamma_R0 := bvadd64(R0, 24bv64), Gamma_R0; - R2, Gamma_R2 := bvadd64(R31, 32bv64), Gamma_R31; - R3, Gamma_R3 := R0, Gamma_R0; - R0, Gamma_R0 := memory_load64_le(mem, R3), (gamma_load64(Gamma_mem, R3) || L(mem, R3)); - R1, Gamma_R1 := memory_load64_le(mem, bvadd64(R3, 8bv64)), (gamma_load64(Gamma_mem, bvadd64(R3, 8bv64)) || L(mem, bvadd64(R3, 8bv64))); - stack, Gamma_stack := memory_store64_le(stack, R2, R0), gamma_store64(Gamma_stack, R2, Gamma_R0); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R2, 8bv64), R1), gamma_store64(Gamma_stack, bvadd64(R2, 8bv64), Gamma_R1); - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R3, 16bv64)), (gamma_load64(Gamma_mem, bvadd64(R3, 16bv64)) || L(mem, bvadd64(R3, 16bv64))); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R2, 16bv64), R0), gamma_store64(Gamma_stack, bvadd64(R2, 16bv64), Gamma_R0); - R0, Gamma_R0 := memory_load64_le(stack, bvadd64(R31, 32bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 32bv64)); - R30, Gamma_R30 := 2316bv64, true; - //UNRESOLVED: call R0 - assume false; - goto l000004dd; - l000004dd: - R0, Gamma_R0 := memory_load64_le(stack, bvadd64(R31, 40bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 40bv64)); - R30, Gamma_R30 := 2324bv64, true; - //UNRESOLVED: call R0 - assume false; - goto l000004ec; - l000004ec: - R0, Gamma_R0 := memory_load64_le(stack, bvadd64(R31, 48bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 48bv64)); - R30, Gamma_R30 := 2332bv64, true; - //UNRESOLVED: call R0 - assume false; - goto l000004fb; - l000004fb: - R0, Gamma_R0 := 0bv64, true; - R1, Gamma_R1 := zero_extend32_32(R0[32:0]), Gamma_R0; - R0, Gamma_R0 := 65536bv64, true; - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4072bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4072bv64)) || L(mem, bvadd64(R0, 4072bv64))); - R3, Gamma_R3 := memory_load64_le(stack, bvadd64(R31, 56bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 56bv64)); - R2, Gamma_R2 := memory_load64_le(mem, R0), (gamma_load64(Gamma_mem, R0) || L(mem, R0)); - #5, Gamma_#5 := bvnot64(R2), Gamma_R2; - #6, Gamma_#6 := bvadd64(R3, bvnot64(R2)), (Gamma_R2 && Gamma_R3); - VF, Gamma_VF := bvnot1(bvcomp65(sign_extend1_64(bvadd64(#6, 1bv64)), bvadd65(bvadd65(sign_extend1_64(R3), sign_extend1_64(#5)), 1bv65))), (Gamma_#5 && (Gamma_R3 && Gamma_#6)); - CF, Gamma_CF := bvnot1(bvcomp65(zero_extend1_64(bvadd64(#6, 1bv64)), bvadd65(bvadd65(zero_extend1_64(R3), zero_extend1_64(#5)), 1bv65))), (Gamma_#5 && (Gamma_R3 && Gamma_#6)); - ZF, Gamma_ZF := bvcomp64(bvadd64(#6, 1bv64), 0bv64), Gamma_#6; - NF, Gamma_NF := bvadd64(#6, 1bv64)[64:63], Gamma_#6; - R3, Gamma_R3 := bvadd64(#6, 1bv64), Gamma_#6; - R2, Gamma_R2 := 0bv64, true; - assert Gamma_ZF; - if ((bvcomp1(ZF, 1bv1) != 0bv1)) { - goto l0000054a; - } - goto l0000056a; - l0000056a: - R30, Gamma_R30 := 2372bv64, true; - call __stack_chk_fail(); - goto l0000054a; - l0000054a: - R0, Gamma_R0 := zero_extend32_32(R1[32:0]), Gamma_R1; - R29, Gamma_R29 := memory_load64_le(stack, R31), gamma_load64(Gamma_stack, R31); - R30, Gamma_R30 := memory_load64_le(stack, bvadd64(R31, 8bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 8bv64)); - R31, Gamma_R31 := bvadd64(R31, 64bv64), Gamma_R31; - return; -} diff --git a/src/test/correct/jumptable2/clang/jumptable2.expected b/src/test/correct/jumptable2/clang/jumptable2.expected deleted file mode 100644 index 96184a996..000000000 --- a/src/test/correct/jumptable2/clang/jumptable2.expected +++ /dev/null @@ -1,366 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R1: bool; -var Gamma_R29: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_R8: bool; -var Gamma_R9: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R1: bv64; -var R29: bv64; -var R30: bv64; -var R31: bv64; -var R8: bv64; -var R9: bv64; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -const $_IO_stdin_used_addr: bv64; -axiom ($_IO_stdin_used_addr == 2052bv64); -const $jump_table_addr: bv64; -axiom ($jump_table_addr == 69688bv64); -const $x_addr: bv64; -axiom ($x_addr == 69680bv64); -function L(memory: [bv64]bv8, index: bv64) returns (bool) { - false -} - -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function gamma_load32(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))) -} - -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load32_le(memory: [bv64]bv8, index: bv64) returns (bv32) { - (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))) -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); -procedure rely(); - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - free ensures (memory_load8_le(mem, 2052bv64) == 1bv8); - free ensures (memory_load8_le(mem, 2053bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2054bv64) == 2bv8); - free ensures (memory_load8_le(mem, 2055bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69688bv64) == 84bv8); - free ensures (memory_load8_le(mem, 69689bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69690bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69691bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69692bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69693bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69694bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69695bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); - free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); - free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); - free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69704bv64) == 124bv8); - free ensures (memory_load8_le(mem, 69705bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69706bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69707bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69708bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69709bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69710bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69711bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69696bv64) == 104bv8); - free ensures (memory_load8_le(mem, 69697bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69698bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); - free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69592bv64) == 144bv8); - free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_stack, R0, R29, R30, R31, R8, R9, stack; - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 40bv8); - free requires (memory_load8_le(mem, 69673bv64) == 16bv8); - free requires (memory_load8_le(mem, 69674bv64) == 1bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free requires (memory_load8_le(mem, 69680bv64) == 5bv8); - free requires (memory_load8_le(mem, 69681bv64) == 0bv8); - free requires (memory_load8_le(mem, 69682bv64) == 0bv8); - free requires (memory_load8_le(mem, 69683bv64) == 0bv8); - free requires (memory_load8_le(mem, 69684bv64) == 0bv8); - free requires (memory_load8_le(mem, 69685bv64) == 0bv8); - free requires (memory_load8_le(mem, 69686bv64) == 0bv8); - free requires (memory_load8_le(mem, 69687bv64) == 0bv8); - free requires (memory_load8_le(mem, 69688bv64) == 84bv8); - free requires (memory_load8_le(mem, 69689bv64) == 7bv8); - free requires (memory_load8_le(mem, 69690bv64) == 0bv8); - free requires (memory_load8_le(mem, 69691bv64) == 0bv8); - free requires (memory_load8_le(mem, 69692bv64) == 0bv8); - free requires (memory_load8_le(mem, 69693bv64) == 0bv8); - free requires (memory_load8_le(mem, 69694bv64) == 0bv8); - free requires (memory_load8_le(mem, 69695bv64) == 0bv8); - free requires (memory_load8_le(mem, 69696bv64) == 104bv8); - free requires (memory_load8_le(mem, 69697bv64) == 7bv8); - free requires (memory_load8_le(mem, 69698bv64) == 0bv8); - free requires (memory_load8_le(mem, 69699bv64) == 0bv8); - free requires (memory_load8_le(mem, 69700bv64) == 0bv8); - free requires (memory_load8_le(mem, 69701bv64) == 0bv8); - free requires (memory_load8_le(mem, 69702bv64) == 0bv8); - free requires (memory_load8_le(mem, 69703bv64) == 0bv8); - free requires (memory_load8_le(mem, 69704bv64) == 124bv8); - free requires (memory_load8_le(mem, 69705bv64) == 7bv8); - free requires (memory_load8_le(mem, 69706bv64) == 0bv8); - free requires (memory_load8_le(mem, 69707bv64) == 0bv8); - free requires (memory_load8_le(mem, 69708bv64) == 0bv8); - free requires (memory_load8_le(mem, 69709bv64) == 0bv8); - free requires (memory_load8_le(mem, 69710bv64) == 0bv8); - free requires (memory_load8_le(mem, 69711bv64) == 0bv8); - free requires (memory_load8_le(mem, 2052bv64) == 1bv8); - free requires (memory_load8_le(mem, 2053bv64) == 0bv8); - free requires (memory_load8_le(mem, 2054bv64) == 2bv8); - free requires (memory_load8_le(mem, 2055bv64) == 0bv8); - free requires (memory_load8_le(mem, 69688bv64) == 84bv8); - free requires (memory_load8_le(mem, 69689bv64) == 7bv8); - free requires (memory_load8_le(mem, 69690bv64) == 0bv8); - free requires (memory_load8_le(mem, 69691bv64) == 0bv8); - free requires (memory_load8_le(mem, 69692bv64) == 0bv8); - free requires (memory_load8_le(mem, 69693bv64) == 0bv8); - free requires (memory_load8_le(mem, 69694bv64) == 0bv8); - free requires (memory_load8_le(mem, 69695bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 40bv8); - free requires (memory_load8_le(mem, 69673bv64) == 16bv8); - free requires (memory_load8_le(mem, 69674bv64) == 1bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free requires (memory_load8_le(mem, 69704bv64) == 124bv8); - free requires (memory_load8_le(mem, 69705bv64) == 7bv8); - free requires (memory_load8_le(mem, 69706bv64) == 0bv8); - free requires (memory_load8_le(mem, 69707bv64) == 0bv8); - free requires (memory_load8_le(mem, 69708bv64) == 0bv8); - free requires (memory_load8_le(mem, 69709bv64) == 0bv8); - free requires (memory_load8_le(mem, 69710bv64) == 0bv8); - free requires (memory_load8_le(mem, 69711bv64) == 0bv8); - free requires (memory_load8_le(mem, 69696bv64) == 104bv8); - free requires (memory_load8_le(mem, 69697bv64) == 7bv8); - free requires (memory_load8_le(mem, 69698bv64) == 0bv8); - free requires (memory_load8_le(mem, 69699bv64) == 0bv8); - free requires (memory_load8_le(mem, 69700bv64) == 0bv8); - free requires (memory_load8_le(mem, 69701bv64) == 0bv8); - free requires (memory_load8_le(mem, 69702bv64) == 0bv8); - free requires (memory_load8_le(mem, 69703bv64) == 0bv8); - free requires (memory_load8_le(mem, 69072bv64) == 0bv8); - free requires (memory_load8_le(mem, 69073bv64) == 7bv8); - free requires (memory_load8_le(mem, 69074bv64) == 0bv8); - free requires (memory_load8_le(mem, 69075bv64) == 0bv8); - free requires (memory_load8_le(mem, 69076bv64) == 0bv8); - free requires (memory_load8_le(mem, 69077bv64) == 0bv8); - free requires (memory_load8_le(mem, 69078bv64) == 0bv8); - free requires (memory_load8_le(mem, 69079bv64) == 0bv8); - free requires (memory_load8_le(mem, 69064bv64) == 80bv8); - free requires (memory_load8_le(mem, 69065bv64) == 7bv8); - free requires (memory_load8_le(mem, 69066bv64) == 0bv8); - free requires (memory_load8_le(mem, 69067bv64) == 0bv8); - free requires (memory_load8_le(mem, 69068bv64) == 0bv8); - free requires (memory_load8_le(mem, 69069bv64) == 0bv8); - free requires (memory_load8_le(mem, 69070bv64) == 0bv8); - free requires (memory_load8_le(mem, 69071bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 144bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); - free ensures (memory_load8_le(mem, 2052bv64) == 1bv8); - free ensures (memory_load8_le(mem, 2053bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2054bv64) == 2bv8); - free ensures (memory_load8_le(mem, 2055bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69688bv64) == 84bv8); - free ensures (memory_load8_le(mem, 69689bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69690bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69691bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69692bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69693bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69694bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69695bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); - free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); - free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); - free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69704bv64) == 124bv8); - free ensures (memory_load8_le(mem, 69705bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69706bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69707bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69708bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69709bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69710bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69711bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69696bv64) == 104bv8); - free ensures (memory_load8_le(mem, 69697bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69698bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); - free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69592bv64) == 144bv8); - free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); -{ - var #5: bv64; - var #6: bv64; - var Gamma_#5: bool; - var Gamma_#6: bool; - lmain: - R31, Gamma_R31 := bvadd64(R31, 18446744073709551568bv64), Gamma_R31; - #5, Gamma_#5 := bvadd64(R31, 32bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #5, R29), gamma_store64(Gamma_stack, #5, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#5, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#5, 8bv64), Gamma_R30); - R29, Gamma_R29 := bvadd64(R31, 32bv64), Gamma_R31; - R8, Gamma_R8 := 69632bv64, true; - R9, Gamma_R9 := 69632bv64, true; - R9, Gamma_R9 := bvadd64(R9, 56bv64), Gamma_R9; - stack, Gamma_stack := memory_store64_le(stack, R31, R9), gamma_store64(Gamma_stack, R31, Gamma_R9); - R9, Gamma_R9 := 0bv64, true; - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 12bv64), R9[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 12bv64), Gamma_R9); - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551612bv64), 0bv32), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551612bv64), true); - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551608bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551608bv64), Gamma_R0); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R1), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R1); - R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R8, 56bv64)), (gamma_load64(Gamma_mem, bvadd64(R8, 56bv64)) || L(mem, bvadd64(R8, 56bv64))); - R30, Gamma_R30 := 1992bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l00000422; - l00000422: - R8, Gamma_R8 := memory_load64_le(stack, R31), gamma_load64(Gamma_stack, R31); - R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R8, 8bv64)), (gamma_load64(Gamma_mem, bvadd64(R8, 8bv64)) || L(mem, bvadd64(R8, 8bv64))); - R30, Gamma_R30 := 2004bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l00000438; - l00000438: - R8, Gamma_R8 := memory_load64_le(stack, R31), gamma_load64(Gamma_stack, R31); - R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R8, 16bv64)), (gamma_load64(Gamma_mem, bvadd64(R8, 16bv64)) || L(mem, bvadd64(R8, 16bv64))); - R30, Gamma_R30 := 2016bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l0000044e; - l0000044e: - R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 12bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 12bv64)); - #6, Gamma_#6 := bvadd64(R31, 32bv64), Gamma_R31; - R29, Gamma_R29 := memory_load64_le(stack, #6), gamma_load64(Gamma_stack, #6); - R30, Gamma_R30 := memory_load64_le(stack, bvadd64(#6, 8bv64)), gamma_load64(Gamma_stack, bvadd64(#6, 8bv64)); - R31, Gamma_R31 := bvadd64(R31, 48bv64), Gamma_R31; - return; -} diff --git a/src/test/correct/jumptable2/clang_O2/jumptable2.expected b/src/test/correct/jumptable2/clang_O2/jumptable2.expected deleted file mode 100644 index 3e746c43e..000000000 --- a/src/test/correct/jumptable2/clang_O2/jumptable2.expected +++ /dev/null @@ -1,339 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R19: bool; -var Gamma_R29: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_R8: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R19: bv64; -var R29: bv64; -var R30: bv64; -var R31: bv64; -var R8: bv64; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -const $_IO_stdin_used_addr: bv64; -axiom ($_IO_stdin_used_addr == 2016bv64); -const $jump_table_addr: bv64; -axiom ($jump_table_addr == 69688bv64); -const $x_addr: bv64; -axiom ($x_addr == 69680bv64); -function L(memory: [bv64]bv8, index: bv64) returns (bool) { - false -} - -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -procedure rely(); - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - free ensures (memory_load8_le(mem, 2016bv64) == 1bv8); - free ensures (memory_load8_le(mem, 2017bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2018bv64) == 2bv8); - free ensures (memory_load8_le(mem, 2019bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69688bv64) == 84bv8); - free ensures (memory_load8_le(mem, 69689bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69690bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69691bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69692bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69693bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69694bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69695bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); - free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); - free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); - free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69704bv64) == 124bv8); - free ensures (memory_load8_le(mem, 69705bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69706bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69707bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69708bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69709bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69710bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69711bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69696bv64) == 104bv8); - free ensures (memory_load8_le(mem, 69697bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69698bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); - free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69592bv64) == 144bv8); - free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R0, Gamma_R19, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_stack, R0, R19, R29, R30, R31, R8, stack; - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 40bv8); - free requires (memory_load8_le(mem, 69673bv64) == 16bv8); - free requires (memory_load8_le(mem, 69674bv64) == 1bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free requires (memory_load8_le(mem, 69680bv64) == 5bv8); - free requires (memory_load8_le(mem, 69681bv64) == 0bv8); - free requires (memory_load8_le(mem, 69682bv64) == 0bv8); - free requires (memory_load8_le(mem, 69683bv64) == 0bv8); - free requires (memory_load8_le(mem, 69684bv64) == 0bv8); - free requires (memory_load8_le(mem, 69685bv64) == 0bv8); - free requires (memory_load8_le(mem, 69686bv64) == 0bv8); - free requires (memory_load8_le(mem, 69687bv64) == 0bv8); - free requires (memory_load8_le(mem, 69688bv64) == 84bv8); - free requires (memory_load8_le(mem, 69689bv64) == 7bv8); - free requires (memory_load8_le(mem, 69690bv64) == 0bv8); - free requires (memory_load8_le(mem, 69691bv64) == 0bv8); - free requires (memory_load8_le(mem, 69692bv64) == 0bv8); - free requires (memory_load8_le(mem, 69693bv64) == 0bv8); - free requires (memory_load8_le(mem, 69694bv64) == 0bv8); - free requires (memory_load8_le(mem, 69695bv64) == 0bv8); - free requires (memory_load8_le(mem, 69696bv64) == 104bv8); - free requires (memory_load8_le(mem, 69697bv64) == 7bv8); - free requires (memory_load8_le(mem, 69698bv64) == 0bv8); - free requires (memory_load8_le(mem, 69699bv64) == 0bv8); - free requires (memory_load8_le(mem, 69700bv64) == 0bv8); - free requires (memory_load8_le(mem, 69701bv64) == 0bv8); - free requires (memory_load8_le(mem, 69702bv64) == 0bv8); - free requires (memory_load8_le(mem, 69703bv64) == 0bv8); - free requires (memory_load8_le(mem, 69704bv64) == 124bv8); - free requires (memory_load8_le(mem, 69705bv64) == 7bv8); - free requires (memory_load8_le(mem, 69706bv64) == 0bv8); - free requires (memory_load8_le(mem, 69707bv64) == 0bv8); - free requires (memory_load8_le(mem, 69708bv64) == 0bv8); - free requires (memory_load8_le(mem, 69709bv64) == 0bv8); - free requires (memory_load8_le(mem, 69710bv64) == 0bv8); - free requires (memory_load8_le(mem, 69711bv64) == 0bv8); - free requires (memory_load8_le(mem, 2016bv64) == 1bv8); - free requires (memory_load8_le(mem, 2017bv64) == 0bv8); - free requires (memory_load8_le(mem, 2018bv64) == 2bv8); - free requires (memory_load8_le(mem, 2019bv64) == 0bv8); - free requires (memory_load8_le(mem, 69688bv64) == 84bv8); - free requires (memory_load8_le(mem, 69689bv64) == 7bv8); - free requires (memory_load8_le(mem, 69690bv64) == 0bv8); - free requires (memory_load8_le(mem, 69691bv64) == 0bv8); - free requires (memory_load8_le(mem, 69692bv64) == 0bv8); - free requires (memory_load8_le(mem, 69693bv64) == 0bv8); - free requires (memory_load8_le(mem, 69694bv64) == 0bv8); - free requires (memory_load8_le(mem, 69695bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 40bv8); - free requires (memory_load8_le(mem, 69673bv64) == 16bv8); - free requires (memory_load8_le(mem, 69674bv64) == 1bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free requires (memory_load8_le(mem, 69704bv64) == 124bv8); - free requires (memory_load8_le(mem, 69705bv64) == 7bv8); - free requires (memory_load8_le(mem, 69706bv64) == 0bv8); - free requires (memory_load8_le(mem, 69707bv64) == 0bv8); - free requires (memory_load8_le(mem, 69708bv64) == 0bv8); - free requires (memory_load8_le(mem, 69709bv64) == 0bv8); - free requires (memory_load8_le(mem, 69710bv64) == 0bv8); - free requires (memory_load8_le(mem, 69711bv64) == 0bv8); - free requires (memory_load8_le(mem, 69696bv64) == 104bv8); - free requires (memory_load8_le(mem, 69697bv64) == 7bv8); - free requires (memory_load8_le(mem, 69698bv64) == 0bv8); - free requires (memory_load8_le(mem, 69699bv64) == 0bv8); - free requires (memory_load8_le(mem, 69700bv64) == 0bv8); - free requires (memory_load8_le(mem, 69701bv64) == 0bv8); - free requires (memory_load8_le(mem, 69702bv64) == 0bv8); - free requires (memory_load8_le(mem, 69703bv64) == 0bv8); - free requires (memory_load8_le(mem, 69072bv64) == 0bv8); - free requires (memory_load8_le(mem, 69073bv64) == 7bv8); - free requires (memory_load8_le(mem, 69074bv64) == 0bv8); - free requires (memory_load8_le(mem, 69075bv64) == 0bv8); - free requires (memory_load8_le(mem, 69076bv64) == 0bv8); - free requires (memory_load8_le(mem, 69077bv64) == 0bv8); - free requires (memory_load8_le(mem, 69078bv64) == 0bv8); - free requires (memory_load8_le(mem, 69079bv64) == 0bv8); - free requires (memory_load8_le(mem, 69064bv64) == 80bv8); - free requires (memory_load8_le(mem, 69065bv64) == 7bv8); - free requires (memory_load8_le(mem, 69066bv64) == 0bv8); - free requires (memory_load8_le(mem, 69067bv64) == 0bv8); - free requires (memory_load8_le(mem, 69068bv64) == 0bv8); - free requires (memory_load8_le(mem, 69069bv64) == 0bv8); - free requires (memory_load8_le(mem, 69070bv64) == 0bv8); - free requires (memory_load8_le(mem, 69071bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 144bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free ensures (Gamma_R19 == old(Gamma_R19)); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R19 == old(R19)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); - free ensures (memory_load8_le(mem, 2016bv64) == 1bv8); - free ensures (memory_load8_le(mem, 2017bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2018bv64) == 2bv8); - free ensures (memory_load8_le(mem, 2019bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69688bv64) == 84bv8); - free ensures (memory_load8_le(mem, 69689bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69690bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69691bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69692bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69693bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69694bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69695bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); - free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); - free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); - free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69704bv64) == 124bv8); - free ensures (memory_load8_le(mem, 69705bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69706bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69707bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69708bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69709bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69710bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69711bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69696bv64) == 104bv8); - free ensures (memory_load8_le(mem, 69697bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69698bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); - free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69592bv64) == 144bv8); - free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); -{ - var #4: bv64; - var Gamma_#4: bool; - lmain: - #4, Gamma_#4 := bvadd64(R31, 18446744073709551584bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #4, R29), gamma_store64(Gamma_stack, #4, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#4, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#4, 8bv64), Gamma_R30); - R31, Gamma_R31 := #4, Gamma_#4; - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R19), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R19); - R29, Gamma_R29 := R31, Gamma_R31; - R19, Gamma_R19 := 69632bv64, true; - R19, Gamma_R19 := bvadd64(R19, 56bv64), Gamma_R19; - R8, Gamma_R8 := memory_load64_le(mem, R19), (gamma_load64(Gamma_mem, R19) || L(mem, R19)); - R30, Gamma_R30 := 1964bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l000003bd; - l000003bd: - R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R19, 8bv64)), (gamma_load64(Gamma_mem, bvadd64(R19, 8bv64)) || L(mem, bvadd64(R19, 8bv64))); - R30, Gamma_R30 := 1972bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l000003cc; - l000003cc: - R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R19, 16bv64)), (gamma_load64(Gamma_mem, bvadd64(R19, 16bv64)) || L(mem, bvadd64(R19, 16bv64))); - R30, Gamma_R30 := 1980bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l000003db; - l000003db: - R0, Gamma_R0 := 0bv64, true; - R19, Gamma_R19 := memory_load64_le(stack, bvadd64(R31, 16bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 16bv64)); - R29, Gamma_R29 := memory_load64_le(stack, R31), gamma_load64(Gamma_stack, R31); - R30, Gamma_R30 := memory_load64_le(stack, bvadd64(R31, 8bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 8bv64)); - R31, Gamma_R31 := bvadd64(R31, 32bv64), Gamma_R31; - return; -} diff --git a/src/test/correct/jumptable2/clang_no_plt_no_pic/jumptable2.expected b/src/test/correct/jumptable2/clang_no_plt_no_pic/jumptable2.expected deleted file mode 100644 index e3cef6d09..000000000 --- a/src/test/correct/jumptable2/clang_no_plt_no_pic/jumptable2.expected +++ /dev/null @@ -1,366 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R1: bool; -var Gamma_R29: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_R8: bool; -var Gamma_R9: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R1: bv64; -var R29: bv64; -var R30: bv64; -var R31: bv64; -var R8: bv64; -var R9: bv64; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -const $_IO_stdin_used_addr: bv64; -axiom ($_IO_stdin_used_addr == 2052bv64); -const $jump_table_addr: bv64; -axiom ($jump_table_addr == 69688bv64); -const $x_addr: bv64; -axiom ($x_addr == 69680bv64); -function L(memory: [bv64]bv8, index: bv64) returns (bool) { - false -} - -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function gamma_load32(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))) -} - -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load32_le(memory: [bv64]bv8, index: bv64) returns (bv32) { - (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))) -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); -procedure rely(); - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - free ensures (memory_load8_le(mem, 2052bv64) == 1bv8); - free ensures (memory_load8_le(mem, 2053bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2054bv64) == 2bv8); - free ensures (memory_load8_le(mem, 2055bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69688bv64) == 84bv8); - free ensures (memory_load8_le(mem, 69689bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69690bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69691bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69692bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69693bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69694bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69695bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); - free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); - free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); - free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69704bv64) == 124bv8); - free ensures (memory_load8_le(mem, 69705bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69706bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69707bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69708bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69709bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69710bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69711bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69696bv64) == 104bv8); - free ensures (memory_load8_le(mem, 69697bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69698bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); - free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69592bv64) == 144bv8); - free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_stack, R0, R29, R30, R31, R8, R9, stack; - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 40bv8); - free requires (memory_load8_le(mem, 69673bv64) == 16bv8); - free requires (memory_load8_le(mem, 69674bv64) == 1bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free requires (memory_load8_le(mem, 69680bv64) == 5bv8); - free requires (memory_load8_le(mem, 69681bv64) == 0bv8); - free requires (memory_load8_le(mem, 69682bv64) == 0bv8); - free requires (memory_load8_le(mem, 69683bv64) == 0bv8); - free requires (memory_load8_le(mem, 69684bv64) == 0bv8); - free requires (memory_load8_le(mem, 69685bv64) == 0bv8); - free requires (memory_load8_le(mem, 69686bv64) == 0bv8); - free requires (memory_load8_le(mem, 69687bv64) == 0bv8); - free requires (memory_load8_le(mem, 69688bv64) == 84bv8); - free requires (memory_load8_le(mem, 69689bv64) == 7bv8); - free requires (memory_load8_le(mem, 69690bv64) == 0bv8); - free requires (memory_load8_le(mem, 69691bv64) == 0bv8); - free requires (memory_load8_le(mem, 69692bv64) == 0bv8); - free requires (memory_load8_le(mem, 69693bv64) == 0bv8); - free requires (memory_load8_le(mem, 69694bv64) == 0bv8); - free requires (memory_load8_le(mem, 69695bv64) == 0bv8); - free requires (memory_load8_le(mem, 69696bv64) == 104bv8); - free requires (memory_load8_le(mem, 69697bv64) == 7bv8); - free requires (memory_load8_le(mem, 69698bv64) == 0bv8); - free requires (memory_load8_le(mem, 69699bv64) == 0bv8); - free requires (memory_load8_le(mem, 69700bv64) == 0bv8); - free requires (memory_load8_le(mem, 69701bv64) == 0bv8); - free requires (memory_load8_le(mem, 69702bv64) == 0bv8); - free requires (memory_load8_le(mem, 69703bv64) == 0bv8); - free requires (memory_load8_le(mem, 69704bv64) == 124bv8); - free requires (memory_load8_le(mem, 69705bv64) == 7bv8); - free requires (memory_load8_le(mem, 69706bv64) == 0bv8); - free requires (memory_load8_le(mem, 69707bv64) == 0bv8); - free requires (memory_load8_le(mem, 69708bv64) == 0bv8); - free requires (memory_load8_le(mem, 69709bv64) == 0bv8); - free requires (memory_load8_le(mem, 69710bv64) == 0bv8); - free requires (memory_load8_le(mem, 69711bv64) == 0bv8); - free requires (memory_load8_le(mem, 2052bv64) == 1bv8); - free requires (memory_load8_le(mem, 2053bv64) == 0bv8); - free requires (memory_load8_le(mem, 2054bv64) == 2bv8); - free requires (memory_load8_le(mem, 2055bv64) == 0bv8); - free requires (memory_load8_le(mem, 69688bv64) == 84bv8); - free requires (memory_load8_le(mem, 69689bv64) == 7bv8); - free requires (memory_load8_le(mem, 69690bv64) == 0bv8); - free requires (memory_load8_le(mem, 69691bv64) == 0bv8); - free requires (memory_load8_le(mem, 69692bv64) == 0bv8); - free requires (memory_load8_le(mem, 69693bv64) == 0bv8); - free requires (memory_load8_le(mem, 69694bv64) == 0bv8); - free requires (memory_load8_le(mem, 69695bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 40bv8); - free requires (memory_load8_le(mem, 69673bv64) == 16bv8); - free requires (memory_load8_le(mem, 69674bv64) == 1bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free requires (memory_load8_le(mem, 69704bv64) == 124bv8); - free requires (memory_load8_le(mem, 69705bv64) == 7bv8); - free requires (memory_load8_le(mem, 69706bv64) == 0bv8); - free requires (memory_load8_le(mem, 69707bv64) == 0bv8); - free requires (memory_load8_le(mem, 69708bv64) == 0bv8); - free requires (memory_load8_le(mem, 69709bv64) == 0bv8); - free requires (memory_load8_le(mem, 69710bv64) == 0bv8); - free requires (memory_load8_le(mem, 69711bv64) == 0bv8); - free requires (memory_load8_le(mem, 69696bv64) == 104bv8); - free requires (memory_load8_le(mem, 69697bv64) == 7bv8); - free requires (memory_load8_le(mem, 69698bv64) == 0bv8); - free requires (memory_load8_le(mem, 69699bv64) == 0bv8); - free requires (memory_load8_le(mem, 69700bv64) == 0bv8); - free requires (memory_load8_le(mem, 69701bv64) == 0bv8); - free requires (memory_load8_le(mem, 69702bv64) == 0bv8); - free requires (memory_load8_le(mem, 69703bv64) == 0bv8); - free requires (memory_load8_le(mem, 69072bv64) == 0bv8); - free requires (memory_load8_le(mem, 69073bv64) == 7bv8); - free requires (memory_load8_le(mem, 69074bv64) == 0bv8); - free requires (memory_load8_le(mem, 69075bv64) == 0bv8); - free requires (memory_load8_le(mem, 69076bv64) == 0bv8); - free requires (memory_load8_le(mem, 69077bv64) == 0bv8); - free requires (memory_load8_le(mem, 69078bv64) == 0bv8); - free requires (memory_load8_le(mem, 69079bv64) == 0bv8); - free requires (memory_load8_le(mem, 69064bv64) == 80bv8); - free requires (memory_load8_le(mem, 69065bv64) == 7bv8); - free requires (memory_load8_le(mem, 69066bv64) == 0bv8); - free requires (memory_load8_le(mem, 69067bv64) == 0bv8); - free requires (memory_load8_le(mem, 69068bv64) == 0bv8); - free requires (memory_load8_le(mem, 69069bv64) == 0bv8); - free requires (memory_load8_le(mem, 69070bv64) == 0bv8); - free requires (memory_load8_le(mem, 69071bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 144bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); - free ensures (memory_load8_le(mem, 2052bv64) == 1bv8); - free ensures (memory_load8_le(mem, 2053bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2054bv64) == 2bv8); - free ensures (memory_load8_le(mem, 2055bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69688bv64) == 84bv8); - free ensures (memory_load8_le(mem, 69689bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69690bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69691bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69692bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69693bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69694bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69695bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); - free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); - free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); - free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69704bv64) == 124bv8); - free ensures (memory_load8_le(mem, 69705bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69706bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69707bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69708bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69709bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69710bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69711bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69696bv64) == 104bv8); - free ensures (memory_load8_le(mem, 69697bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69698bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); - free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69592bv64) == 144bv8); - free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); -{ - var #5: bv64; - var #6: bv64; - var Gamma_#5: bool; - var Gamma_#6: bool; - lmain: - R31, Gamma_R31 := bvadd64(R31, 18446744073709551568bv64), Gamma_R31; - #5, Gamma_#5 := bvadd64(R31, 32bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #5, R29), gamma_store64(Gamma_stack, #5, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#5, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#5, 8bv64), Gamma_R30); - R29, Gamma_R29 := bvadd64(R31, 32bv64), Gamma_R31; - R8, Gamma_R8 := 69632bv64, true; - R9, Gamma_R9 := 69632bv64, true; - R9, Gamma_R9 := bvadd64(R9, 56bv64), Gamma_R9; - stack, Gamma_stack := memory_store64_le(stack, R31, R9), gamma_store64(Gamma_stack, R31, Gamma_R9); - R9, Gamma_R9 := 0bv64, true; - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 12bv64), R9[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 12bv64), Gamma_R9); - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551612bv64), 0bv32), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551612bv64), true); - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551608bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551608bv64), Gamma_R0); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R1), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R1); - R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R8, 56bv64)), (gamma_load64(Gamma_mem, bvadd64(R8, 56bv64)) || L(mem, bvadd64(R8, 56bv64))); - R30, Gamma_R30 := 1992bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l00000b79; - l00000b79: - R8, Gamma_R8 := memory_load64_le(stack, R31), gamma_load64(Gamma_stack, R31); - R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R8, 8bv64)), (gamma_load64(Gamma_mem, bvadd64(R8, 8bv64)) || L(mem, bvadd64(R8, 8bv64))); - R30, Gamma_R30 := 2004bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l00000b8f; - l00000b8f: - R8, Gamma_R8 := memory_load64_le(stack, R31), gamma_load64(Gamma_stack, R31); - R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R8, 16bv64)), (gamma_load64(Gamma_mem, bvadd64(R8, 16bv64)) || L(mem, bvadd64(R8, 16bv64))); - R30, Gamma_R30 := 2016bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l00000ba5; - l00000ba5: - R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 12bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 12bv64)); - #6, Gamma_#6 := bvadd64(R31, 32bv64), Gamma_R31; - R29, Gamma_R29 := memory_load64_le(stack, #6), gamma_load64(Gamma_stack, #6); - R30, Gamma_R30 := memory_load64_le(stack, bvadd64(#6, 8bv64)), gamma_load64(Gamma_stack, bvadd64(#6, 8bv64)); - R31, Gamma_R31 := bvadd64(R31, 48bv64), Gamma_R31; - return; -} diff --git a/src/test/correct/jumptable2/clang_pic/jumptable2.expected b/src/test/correct/jumptable2/clang_pic/jumptable2.expected deleted file mode 100644 index 9ff623896..000000000 --- a/src/test/correct/jumptable2/clang_pic/jumptable2.expected +++ /dev/null @@ -1,413 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R1: bool; -var Gamma_R29: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_R8: bool; -var Gamma_R9: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R1: bv64; -var R29: bv64; -var R30: bv64; -var R31: bv64; -var R8: bv64; -var R9: bv64; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -const $_IO_stdin_used_addr: bv64; -axiom ($_IO_stdin_used_addr == 2124bv64); -const $jump_table_addr: bv64; -axiom ($jump_table_addr == 69688bv64); -const $x_addr: bv64; -axiom ($x_addr == 69680bv64); -function L(memory: [bv64]bv8, index: bv64) returns (bool) { - false -} - -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function gamma_load32(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))) -} - -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load32_le(memory: [bv64]bv8, index: bv64) returns (bv32) { - (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))) -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); -procedure rely(); - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - free ensures (memory_load8_le(mem, 2124bv64) == 1bv8); - free ensures (memory_load8_le(mem, 2125bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2126bv64) == 2bv8); - free ensures (memory_load8_le(mem, 2127bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69584bv64) == 220bv8); - free ensures (memory_load8_le(mem, 69585bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69586bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69688bv64) == 148bv8); - free ensures (memory_load8_le(mem, 69689bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69690bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69691bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69692bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69693bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69694bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69695bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69048bv64) == 144bv8); - free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69568bv64) == 48bv8); - free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); - free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); - free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69056bv64) == 64bv8); - free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); - free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); - free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); - free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69704bv64) == 196bv8); - free ensures (memory_load8_le(mem, 69705bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69706bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69707bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69708bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69709bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69710bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69711bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69696bv64) == 172bv8); - free ensures (memory_load8_le(mem, 69697bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69698bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69600bv64) == 56bv8); - free ensures (memory_load8_le(mem, 69601bv64) == 16bv8); - free ensures (memory_load8_le(mem, 69602bv64) == 1bv8); - free ensures (memory_load8_le(mem, 69603bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69604bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69605bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69606bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69607bv64) == 0bv8); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_stack, R0, R29, R30, R31, R8, R9, stack; - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 40bv8); - free requires (memory_load8_le(mem, 69673bv64) == 16bv8); - free requires (memory_load8_le(mem, 69674bv64) == 1bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free requires (memory_load8_le(mem, 69680bv64) == 5bv8); - free requires (memory_load8_le(mem, 69681bv64) == 0bv8); - free requires (memory_load8_le(mem, 69682bv64) == 0bv8); - free requires (memory_load8_le(mem, 69683bv64) == 0bv8); - free requires (memory_load8_le(mem, 69684bv64) == 0bv8); - free requires (memory_load8_le(mem, 69685bv64) == 0bv8); - free requires (memory_load8_le(mem, 69686bv64) == 0bv8); - free requires (memory_load8_le(mem, 69687bv64) == 0bv8); - free requires (memory_load8_le(mem, 69688bv64) == 148bv8); - free requires (memory_load8_le(mem, 69689bv64) == 7bv8); - free requires (memory_load8_le(mem, 69690bv64) == 0bv8); - free requires (memory_load8_le(mem, 69691bv64) == 0bv8); - free requires (memory_load8_le(mem, 69692bv64) == 0bv8); - free requires (memory_load8_le(mem, 69693bv64) == 0bv8); - free requires (memory_load8_le(mem, 69694bv64) == 0bv8); - free requires (memory_load8_le(mem, 69695bv64) == 0bv8); - free requires (memory_load8_le(mem, 69696bv64) == 172bv8); - free requires (memory_load8_le(mem, 69697bv64) == 7bv8); - free requires (memory_load8_le(mem, 69698bv64) == 0bv8); - free requires (memory_load8_le(mem, 69699bv64) == 0bv8); - free requires (memory_load8_le(mem, 69700bv64) == 0bv8); - free requires (memory_load8_le(mem, 69701bv64) == 0bv8); - free requires (memory_load8_le(mem, 69702bv64) == 0bv8); - free requires (memory_load8_le(mem, 69703bv64) == 0bv8); - free requires (memory_load8_le(mem, 69704bv64) == 196bv8); - free requires (memory_load8_le(mem, 69705bv64) == 7bv8); - free requires (memory_load8_le(mem, 69706bv64) == 0bv8); - free requires (memory_load8_le(mem, 69707bv64) == 0bv8); - free requires (memory_load8_le(mem, 69708bv64) == 0bv8); - free requires (memory_load8_le(mem, 69709bv64) == 0bv8); - free requires (memory_load8_le(mem, 69710bv64) == 0bv8); - free requires (memory_load8_le(mem, 69711bv64) == 0bv8); - free requires (memory_load8_le(mem, 2124bv64) == 1bv8); - free requires (memory_load8_le(mem, 2125bv64) == 0bv8); - free requires (memory_load8_le(mem, 2126bv64) == 2bv8); - free requires (memory_load8_le(mem, 2127bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 220bv8); - free requires (memory_load8_le(mem, 69585bv64) == 7bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69688bv64) == 148bv8); - free requires (memory_load8_le(mem, 69689bv64) == 7bv8); - free requires (memory_load8_le(mem, 69690bv64) == 0bv8); - free requires (memory_load8_le(mem, 69691bv64) == 0bv8); - free requires (memory_load8_le(mem, 69692bv64) == 0bv8); - free requires (memory_load8_le(mem, 69693bv64) == 0bv8); - free requires (memory_load8_le(mem, 69694bv64) == 0bv8); - free requires (memory_load8_le(mem, 69695bv64) == 0bv8); - free requires (memory_load8_le(mem, 69048bv64) == 144bv8); - free requires (memory_load8_le(mem, 69049bv64) == 7bv8); - free requires (memory_load8_le(mem, 69050bv64) == 0bv8); - free requires (memory_load8_le(mem, 69051bv64) == 0bv8); - free requires (memory_load8_le(mem, 69052bv64) == 0bv8); - free requires (memory_load8_le(mem, 69053bv64) == 0bv8); - free requires (memory_load8_le(mem, 69054bv64) == 0bv8); - free requires (memory_load8_le(mem, 69055bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 48bv8); - free requires (memory_load8_le(mem, 69569bv64) == 16bv8); - free requires (memory_load8_le(mem, 69570bv64) == 1bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69056bv64) == 64bv8); - free requires (memory_load8_le(mem, 69057bv64) == 7bv8); - free requires (memory_load8_le(mem, 69058bv64) == 0bv8); - free requires (memory_load8_le(mem, 69059bv64) == 0bv8); - free requires (memory_load8_le(mem, 69060bv64) == 0bv8); - free requires (memory_load8_le(mem, 69061bv64) == 0bv8); - free requires (memory_load8_le(mem, 69062bv64) == 0bv8); - free requires (memory_load8_le(mem, 69063bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 40bv8); - free requires (memory_load8_le(mem, 69673bv64) == 16bv8); - free requires (memory_load8_le(mem, 69674bv64) == 1bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free requires (memory_load8_le(mem, 69704bv64) == 196bv8); - free requires (memory_load8_le(mem, 69705bv64) == 7bv8); - free requires (memory_load8_le(mem, 69706bv64) == 0bv8); - free requires (memory_load8_le(mem, 69707bv64) == 0bv8); - free requires (memory_load8_le(mem, 69708bv64) == 0bv8); - free requires (memory_load8_le(mem, 69709bv64) == 0bv8); - free requires (memory_load8_le(mem, 69710bv64) == 0bv8); - free requires (memory_load8_le(mem, 69711bv64) == 0bv8); - free requires (memory_load8_le(mem, 69696bv64) == 172bv8); - free requires (memory_load8_le(mem, 69697bv64) == 7bv8); - free requires (memory_load8_le(mem, 69698bv64) == 0bv8); - free requires (memory_load8_le(mem, 69699bv64) == 0bv8); - free requires (memory_load8_le(mem, 69700bv64) == 0bv8); - free requires (memory_load8_le(mem, 69701bv64) == 0bv8); - free requires (memory_load8_le(mem, 69702bv64) == 0bv8); - free requires (memory_load8_le(mem, 69703bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 56bv8); - free requires (memory_load8_le(mem, 69601bv64) == 16bv8); - free requires (memory_load8_le(mem, 69602bv64) == 1bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); - free ensures (memory_load8_le(mem, 2124bv64) == 1bv8); - free ensures (memory_load8_le(mem, 2125bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2126bv64) == 2bv8); - free ensures (memory_load8_le(mem, 2127bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69584bv64) == 220bv8); - free ensures (memory_load8_le(mem, 69585bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69586bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69587bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69588bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69589bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69590bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69591bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69688bv64) == 148bv8); - free ensures (memory_load8_le(mem, 69689bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69690bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69691bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69692bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69693bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69694bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69695bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69048bv64) == 144bv8); - free ensures (memory_load8_le(mem, 69049bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69050bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69051bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69052bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69053bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69054bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69055bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69568bv64) == 48bv8); - free ensures (memory_load8_le(mem, 69569bv64) == 16bv8); - free ensures (memory_load8_le(mem, 69570bv64) == 1bv8); - free ensures (memory_load8_le(mem, 69571bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69572bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69573bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69574bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69575bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69056bv64) == 64bv8); - free ensures (memory_load8_le(mem, 69057bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69058bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69059bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69060bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69061bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69062bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69063bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); - free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); - free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); - free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69704bv64) == 196bv8); - free ensures (memory_load8_le(mem, 69705bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69706bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69707bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69708bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69709bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69710bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69711bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69696bv64) == 172bv8); - free ensures (memory_load8_le(mem, 69697bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69698bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69600bv64) == 56bv8); - free ensures (memory_load8_le(mem, 69601bv64) == 16bv8); - free ensures (memory_load8_le(mem, 69602bv64) == 1bv8); - free ensures (memory_load8_le(mem, 69603bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69604bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69605bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69606bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69607bv64) == 0bv8); -{ - var #5: bv64; - var #6: bv64; - var Gamma_#5: bool; - var Gamma_#6: bool; - lmain: - R31, Gamma_R31 := bvadd64(R31, 18446744073709551568bv64), Gamma_R31; - #5, Gamma_#5 := bvadd64(R31, 32bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #5, R29), gamma_store64(Gamma_stack, #5, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#5, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#5, 8bv64), Gamma_R30); - R29, Gamma_R29 := bvadd64(R31, 32bv64), Gamma_R31; - R8, Gamma_R8 := 65536bv64, true; - R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R8, 4064bv64)), (gamma_load64(Gamma_mem, bvadd64(R8, 4064bv64)) || L(mem, bvadd64(R8, 4064bv64))); - stack, Gamma_stack := memory_store64_le(stack, R31, R8), gamma_store64(Gamma_stack, R31, Gamma_R8); - R9, Gamma_R9 := 0bv64, true; - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 12bv64), R9[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 12bv64), Gamma_R9); - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551612bv64), 0bv32), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551612bv64), true); - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551608bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551608bv64), Gamma_R0); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R1), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R1); - R8, Gamma_R8 := memory_load64_le(mem, R8), (gamma_load64(Gamma_mem, R8) || L(mem, R8)); - R30, Gamma_R30 := 2064bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l0000043b; - l0000043b: - R8, Gamma_R8 := memory_load64_le(stack, R31), gamma_load64(Gamma_stack, R31); - R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R8, 8bv64)), (gamma_load64(Gamma_mem, bvadd64(R8, 8bv64)) || L(mem, bvadd64(R8, 8bv64))); - R30, Gamma_R30 := 2076bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l00000451; - l00000451: - R8, Gamma_R8 := memory_load64_le(stack, R31), gamma_load64(Gamma_stack, R31); - R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R8, 16bv64)), (gamma_load64(Gamma_mem, bvadd64(R8, 16bv64)) || L(mem, bvadd64(R8, 16bv64))); - R30, Gamma_R30 := 2088bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l00000467; - l00000467: - R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 12bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 12bv64)); - #6, Gamma_#6 := bvadd64(R31, 32bv64), Gamma_R31; - R29, Gamma_R29 := memory_load64_le(stack, #6), gamma_load64(Gamma_stack, #6); - R30, Gamma_R30 := memory_load64_le(stack, bvadd64(#6, 8bv64)), gamma_load64(Gamma_stack, bvadd64(#6, 8bv64)); - R31, Gamma_R31 := bvadd64(R31, 48bv64), Gamma_R31; - return; -} diff --git a/src/test/correct/jumptable2/gcc/jumptable2.expected b/src/test/correct/jumptable2/gcc/jumptable2.expected deleted file mode 100644 index 478a5abcb..000000000 --- a/src/test/correct/jumptable2/gcc/jumptable2.expected +++ /dev/null @@ -1,347 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R1: bool; -var Gamma_R29: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R1: bv64; -var R29: bv64; -var R30: bv64; -var R31: bv64; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -const $_IO_stdin_used_addr: bv64; -axiom ($_IO_stdin_used_addr == 2080bv64); -const $jump_table_addr: bv64; -axiom ($jump_table_addr == 69656bv64); -const $x_addr: bv64; -axiom ($x_addr == 69648bv64); -function L(memory: [bv64]bv8, index: bv64) returns (bool) { - false -} - -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -procedure rely(); - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - free ensures (memory_load8_le(mem, 2080bv64) == 1bv8); - free ensures (memory_load8_le(mem, 2081bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2082bv64) == 2bv8); - free ensures (memory_load8_le(mem, 2083bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69616bv64) == 192bv8); - free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69656bv64) == 84bv8); - free ensures (memory_load8_le(mem, 69657bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69658bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69659bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69660bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69661bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69662bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69663bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); - free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69664bv64) == 120bv8); - free ensures (memory_load8_le(mem, 69665bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69666bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69667bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69668bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69669bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69670bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69671bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69672bv64) == 156bv8); - free ensures (memory_load8_le(mem, 69673bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69674bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); - free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); - free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); - free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R29, R30, R31, stack; - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); - free requires (memory_load8_le(mem, 69640bv64) == 8bv8); - free requires (memory_load8_le(mem, 69641bv64) == 16bv8); - free requires (memory_load8_le(mem, 69642bv64) == 1bv8); - free requires (memory_load8_le(mem, 69643bv64) == 0bv8); - free requires (memory_load8_le(mem, 69644bv64) == 0bv8); - free requires (memory_load8_le(mem, 69645bv64) == 0bv8); - free requires (memory_load8_le(mem, 69646bv64) == 0bv8); - free requires (memory_load8_le(mem, 69647bv64) == 0bv8); - free requires (memory_load8_le(mem, 69648bv64) == 5bv8); - free requires (memory_load8_le(mem, 69649bv64) == 0bv8); - free requires (memory_load8_le(mem, 69650bv64) == 0bv8); - free requires (memory_load8_le(mem, 69651bv64) == 0bv8); - free requires (memory_load8_le(mem, 69652bv64) == 0bv8); - free requires (memory_load8_le(mem, 69653bv64) == 0bv8); - free requires (memory_load8_le(mem, 69654bv64) == 0bv8); - free requires (memory_load8_le(mem, 69655bv64) == 0bv8); - free requires (memory_load8_le(mem, 69656bv64) == 84bv8); - free requires (memory_load8_le(mem, 69657bv64) == 7bv8); - free requires (memory_load8_le(mem, 69658bv64) == 0bv8); - free requires (memory_load8_le(mem, 69659bv64) == 0bv8); - free requires (memory_load8_le(mem, 69660bv64) == 0bv8); - free requires (memory_load8_le(mem, 69661bv64) == 0bv8); - free requires (memory_load8_le(mem, 69662bv64) == 0bv8); - free requires (memory_load8_le(mem, 69663bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 120bv8); - free requires (memory_load8_le(mem, 69665bv64) == 7bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 156bv8); - free requires (memory_load8_le(mem, 69673bv64) == 7bv8); - free requires (memory_load8_le(mem, 69674bv64) == 0bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free requires (memory_load8_le(mem, 2080bv64) == 1bv8); - free requires (memory_load8_le(mem, 2081bv64) == 0bv8); - free requires (memory_load8_le(mem, 2082bv64) == 2bv8); - free requires (memory_load8_le(mem, 2083bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 192bv8); - free requires (memory_load8_le(mem, 69617bv64) == 7bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69656bv64) == 84bv8); - free requires (memory_load8_le(mem, 69657bv64) == 7bv8); - free requires (memory_load8_le(mem, 69658bv64) == 0bv8); - free requires (memory_load8_le(mem, 69659bv64) == 0bv8); - free requires (memory_load8_le(mem, 69660bv64) == 0bv8); - free requires (memory_load8_le(mem, 69661bv64) == 0bv8); - free requires (memory_load8_le(mem, 69662bv64) == 0bv8); - free requires (memory_load8_le(mem, 69663bv64) == 0bv8); - free requires (memory_load8_le(mem, 69016bv64) == 80bv8); - free requires (memory_load8_le(mem, 69017bv64) == 7bv8); - free requires (memory_load8_le(mem, 69018bv64) == 0bv8); - free requires (memory_load8_le(mem, 69019bv64) == 0bv8); - free requires (memory_load8_le(mem, 69020bv64) == 0bv8); - free requires (memory_load8_le(mem, 69021bv64) == 0bv8); - free requires (memory_load8_le(mem, 69022bv64) == 0bv8); - free requires (memory_load8_le(mem, 69023bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 120bv8); - free requires (memory_load8_le(mem, 69665bv64) == 7bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69024bv64) == 0bv8); - free requires (memory_load8_le(mem, 69025bv64) == 7bv8); - free requires (memory_load8_le(mem, 69026bv64) == 0bv8); - free requires (memory_load8_le(mem, 69027bv64) == 0bv8); - free requires (memory_load8_le(mem, 69028bv64) == 0bv8); - free requires (memory_load8_le(mem, 69029bv64) == 0bv8); - free requires (memory_load8_le(mem, 69030bv64) == 0bv8); - free requires (memory_load8_le(mem, 69031bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 156bv8); - free requires (memory_load8_le(mem, 69673bv64) == 7bv8); - free requires (memory_load8_le(mem, 69674bv64) == 0bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free requires (memory_load8_le(mem, 69640bv64) == 8bv8); - free requires (memory_load8_le(mem, 69641bv64) == 16bv8); - free requires (memory_load8_le(mem, 69642bv64) == 1bv8); - free requires (memory_load8_le(mem, 69643bv64) == 0bv8); - free requires (memory_load8_le(mem, 69644bv64) == 0bv8); - free requires (memory_load8_le(mem, 69645bv64) == 0bv8); - free requires (memory_load8_le(mem, 69646bv64) == 0bv8); - free requires (memory_load8_le(mem, 69647bv64) == 0bv8); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); - free ensures (memory_load8_le(mem, 2080bv64) == 1bv8); - free ensures (memory_load8_le(mem, 2081bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2082bv64) == 2bv8); - free ensures (memory_load8_le(mem, 2083bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69616bv64) == 192bv8); - free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69656bv64) == 84bv8); - free ensures (memory_load8_le(mem, 69657bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69658bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69659bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69660bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69661bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69662bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69663bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); - free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69664bv64) == 120bv8); - free ensures (memory_load8_le(mem, 69665bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69666bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69667bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69668bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69669bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69670bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69671bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69672bv64) == 156bv8); - free ensures (memory_load8_le(mem, 69673bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69674bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); - free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); - free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); - free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); -{ - var #4: bv64; - var Gamma_#4: bool; - lmain: - #4, Gamma_#4 := bvadd64(R31, 18446744073709551584bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #4, R29), gamma_store64(Gamma_stack, #4, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#4, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#4, 8bv64), Gamma_R30); - R31, Gamma_R31 := #4, Gamma_#4; - R29, Gamma_R29 := R31, Gamma_R31; - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 28bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 28bv64), Gamma_R0); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R1), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R1); - R0, Gamma_R0 := 69632bv64, true; - R0, Gamma_R0 := bvadd64(R0, 24bv64), Gamma_R0; - R0, Gamma_R0 := memory_load64_le(mem, R0), (gamma_load64(Gamma_mem, R0) || L(mem, R0)); - R30, Gamma_R30 := 2016bv64, true; - //UNRESOLVED: call R0 - assume false; - goto l0000043e; - l0000043e: - R0, Gamma_R0 := 69632bv64, true; - R0, Gamma_R0 := bvadd64(R0, 24bv64), Gamma_R0; - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 8bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 8bv64)) || L(mem, bvadd64(R0, 8bv64))); - R30, Gamma_R30 := 2032bv64, true; - //UNRESOLVED: call R0 - assume false; - goto l00000458; - l00000458: - R0, Gamma_R0 := 69632bv64, true; - R0, Gamma_R0 := bvadd64(R0, 24bv64), Gamma_R0; - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 16bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 16bv64)) || L(mem, bvadd64(R0, 16bv64))); - R30, Gamma_R30 := 2048bv64, true; - //UNRESOLVED: call R0 - assume false; - goto l00000472; - l00000472: - R0, Gamma_R0 := 0bv64, true; - R29, Gamma_R29 := memory_load64_le(stack, R31), gamma_load64(Gamma_stack, R31); - R30, Gamma_R30 := memory_load64_le(stack, bvadd64(R31, 8bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 8bv64)); - R31, Gamma_R31 := bvadd64(R31, 32bv64), Gamma_R31; - return; -} diff --git a/src/test/correct/jumptable2/gcc_O2/jumptable2.expected b/src/test/correct/jumptable2/gcc_O2/jumptable2.expected deleted file mode 100644 index 5944d2f7b..000000000 --- a/src/test/correct/jumptable2/gcc_O2/jumptable2.expected +++ /dev/null @@ -1,337 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R19: bool; -var Gamma_R29: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R19: bv64; -var R29: bv64; -var R30: bv64; -var R31: bv64; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -const $_IO_stdin_used_addr: bv64; -axiom ($_IO_stdin_used_addr == 2040bv64); -const $jump_table_addr: bv64; -axiom ($jump_table_addr == 69656bv64); -const $x_addr: bv64; -axiom ($x_addr == 69648bv64); -function L(memory: [bv64]bv8, index: bv64) returns (bool) { - false -} - -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -procedure rely(); - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - free ensures (memory_load8_le(mem, 2040bv64) == 1bv8); - free ensures (memory_load8_le(mem, 2041bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2042bv64) == 2bv8); - free ensures (memory_load8_le(mem, 2043bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69616bv64) == 64bv8); - free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); - free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69656bv64) == 160bv8); - free ensures (memory_load8_le(mem, 69657bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69658bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69659bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69660bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69661bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69662bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69663bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69016bv64) == 144bv8); - free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69664bv64) == 180bv8); - free ensures (memory_load8_le(mem, 69665bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69666bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69667bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69668bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69669bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69670bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69671bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69024bv64) == 64bv8); - free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69672bv64) == 208bv8); - free ensures (memory_load8_le(mem, 69673bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69674bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); - free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); - free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); - free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R0, Gamma_R19, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R19, R29, R30, R31, stack; - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); - free requires (memory_load8_le(mem, 69640bv64) == 8bv8); - free requires (memory_load8_le(mem, 69641bv64) == 16bv8); - free requires (memory_load8_le(mem, 69642bv64) == 1bv8); - free requires (memory_load8_le(mem, 69643bv64) == 0bv8); - free requires (memory_load8_le(mem, 69644bv64) == 0bv8); - free requires (memory_load8_le(mem, 69645bv64) == 0bv8); - free requires (memory_load8_le(mem, 69646bv64) == 0bv8); - free requires (memory_load8_le(mem, 69647bv64) == 0bv8); - free requires (memory_load8_le(mem, 69648bv64) == 5bv8); - free requires (memory_load8_le(mem, 69649bv64) == 0bv8); - free requires (memory_load8_le(mem, 69650bv64) == 0bv8); - free requires (memory_load8_le(mem, 69651bv64) == 0bv8); - free requires (memory_load8_le(mem, 69652bv64) == 0bv8); - free requires (memory_load8_le(mem, 69653bv64) == 0bv8); - free requires (memory_load8_le(mem, 69654bv64) == 0bv8); - free requires (memory_load8_le(mem, 69655bv64) == 0bv8); - free requires (memory_load8_le(mem, 69656bv64) == 160bv8); - free requires (memory_load8_le(mem, 69657bv64) == 7bv8); - free requires (memory_load8_le(mem, 69658bv64) == 0bv8); - free requires (memory_load8_le(mem, 69659bv64) == 0bv8); - free requires (memory_load8_le(mem, 69660bv64) == 0bv8); - free requires (memory_load8_le(mem, 69661bv64) == 0bv8); - free requires (memory_load8_le(mem, 69662bv64) == 0bv8); - free requires (memory_load8_le(mem, 69663bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 180bv8); - free requires (memory_load8_le(mem, 69665bv64) == 7bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 208bv8); - free requires (memory_load8_le(mem, 69673bv64) == 7bv8); - free requires (memory_load8_le(mem, 69674bv64) == 0bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free requires (memory_load8_le(mem, 2040bv64) == 1bv8); - free requires (memory_load8_le(mem, 2041bv64) == 0bv8); - free requires (memory_load8_le(mem, 2042bv64) == 2bv8); - free requires (memory_load8_le(mem, 2043bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 64bv8); - free requires (memory_load8_le(mem, 69617bv64) == 6bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69656bv64) == 160bv8); - free requires (memory_load8_le(mem, 69657bv64) == 7bv8); - free requires (memory_load8_le(mem, 69658bv64) == 0bv8); - free requires (memory_load8_le(mem, 69659bv64) == 0bv8); - free requires (memory_load8_le(mem, 69660bv64) == 0bv8); - free requires (memory_load8_le(mem, 69661bv64) == 0bv8); - free requires (memory_load8_le(mem, 69662bv64) == 0bv8); - free requires (memory_load8_le(mem, 69663bv64) == 0bv8); - free requires (memory_load8_le(mem, 69016bv64) == 144bv8); - free requires (memory_load8_le(mem, 69017bv64) == 7bv8); - free requires (memory_load8_le(mem, 69018bv64) == 0bv8); - free requires (memory_load8_le(mem, 69019bv64) == 0bv8); - free requires (memory_load8_le(mem, 69020bv64) == 0bv8); - free requires (memory_load8_le(mem, 69021bv64) == 0bv8); - free requires (memory_load8_le(mem, 69022bv64) == 0bv8); - free requires (memory_load8_le(mem, 69023bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 180bv8); - free requires (memory_load8_le(mem, 69665bv64) == 7bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69024bv64) == 64bv8); - free requires (memory_load8_le(mem, 69025bv64) == 7bv8); - free requires (memory_load8_le(mem, 69026bv64) == 0bv8); - free requires (memory_load8_le(mem, 69027bv64) == 0bv8); - free requires (memory_load8_le(mem, 69028bv64) == 0bv8); - free requires (memory_load8_le(mem, 69029bv64) == 0bv8); - free requires (memory_load8_le(mem, 69030bv64) == 0bv8); - free requires (memory_load8_le(mem, 69031bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 208bv8); - free requires (memory_load8_le(mem, 69673bv64) == 7bv8); - free requires (memory_load8_le(mem, 69674bv64) == 0bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free requires (memory_load8_le(mem, 69640bv64) == 8bv8); - free requires (memory_load8_le(mem, 69641bv64) == 16bv8); - free requires (memory_load8_le(mem, 69642bv64) == 1bv8); - free requires (memory_load8_le(mem, 69643bv64) == 0bv8); - free requires (memory_load8_le(mem, 69644bv64) == 0bv8); - free requires (memory_load8_le(mem, 69645bv64) == 0bv8); - free requires (memory_load8_le(mem, 69646bv64) == 0bv8); - free requires (memory_load8_le(mem, 69647bv64) == 0bv8); - free ensures (Gamma_R19 == old(Gamma_R19)); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R19 == old(R19)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); - free ensures (memory_load8_le(mem, 2040bv64) == 1bv8); - free ensures (memory_load8_le(mem, 2041bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2042bv64) == 2bv8); - free ensures (memory_load8_le(mem, 2043bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69616bv64) == 64bv8); - free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); - free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69656bv64) == 160bv8); - free ensures (memory_load8_le(mem, 69657bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69658bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69659bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69660bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69661bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69662bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69663bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69016bv64) == 144bv8); - free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69664bv64) == 180bv8); - free ensures (memory_load8_le(mem, 69665bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69666bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69667bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69668bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69669bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69670bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69671bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69024bv64) == 64bv8); - free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69672bv64) == 208bv8); - free ensures (memory_load8_le(mem, 69673bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69674bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); - free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); - free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); - free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); -{ - var #1: bv64; - var Gamma_#1: bool; - lmain: - #1, Gamma_#1 := bvadd64(R31, 18446744073709551584bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #1, R29), gamma_store64(Gamma_stack, #1, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#1, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#1, 8bv64), Gamma_R30); - R31, Gamma_R31 := #1, Gamma_#1; - R0, Gamma_R0 := 69632bv64, true; - R29, Gamma_R29 := R31, Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R19), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R19); - R19, Gamma_R19 := bvadd64(R0, 24bv64), Gamma_R0; - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 24bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 24bv64)) || L(mem, bvadd64(R0, 24bv64))); - R30, Gamma_R30 := 1628bv64, true; - //UNRESOLVED: call R0 - assume false; - goto l00000236; - l00000236: - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R19, 8bv64)), (gamma_load64(Gamma_mem, bvadd64(R19, 8bv64)) || L(mem, bvadd64(R19, 8bv64))); - R30, Gamma_R30 := 1636bv64, true; - //UNRESOLVED: call R0 - assume false; - goto l00000245; - l00000245: - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R19, 16bv64)), (gamma_load64(Gamma_mem, bvadd64(R19, 16bv64)) || L(mem, bvadd64(R19, 16bv64))); - R30, Gamma_R30 := 1644bv64, true; - //UNRESOLVED: call R0 - assume false; - goto l00000254; - l00000254: - R0, Gamma_R0 := 0bv64, true; - R19, Gamma_R19 := memory_load64_le(stack, bvadd64(R31, 16bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 16bv64)); - R29, Gamma_R29 := memory_load64_le(stack, R31), gamma_load64(Gamma_stack, R31); - R30, Gamma_R30 := memory_load64_le(stack, bvadd64(R31, 8bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 8bv64)); - R31, Gamma_R31 := bvadd64(R31, 32bv64), Gamma_R31; - return; -} diff --git a/src/test/correct/jumptable2/gcc_no_plt_no_pic/jumptable2.expected b/src/test/correct/jumptable2/gcc_no_plt_no_pic/jumptable2.expected deleted file mode 100644 index 9eacd23d8..000000000 --- a/src/test/correct/jumptable2/gcc_no_plt_no_pic/jumptable2.expected +++ /dev/null @@ -1,347 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R1: bool; -var Gamma_R29: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R1: bv64; -var R29: bv64; -var R30: bv64; -var R31: bv64; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -const $_IO_stdin_used_addr: bv64; -axiom ($_IO_stdin_used_addr == 2080bv64); -const $jump_table_addr: bv64; -axiom ($jump_table_addr == 69656bv64); -const $x_addr: bv64; -axiom ($x_addr == 69648bv64); -function L(memory: [bv64]bv8, index: bv64) returns (bool) { - false -} - -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -procedure rely(); - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - free ensures (memory_load8_le(mem, 2080bv64) == 1bv8); - free ensures (memory_load8_le(mem, 2081bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2082bv64) == 2bv8); - free ensures (memory_load8_le(mem, 2083bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69616bv64) == 192bv8); - free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69656bv64) == 84bv8); - free ensures (memory_load8_le(mem, 69657bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69658bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69659bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69660bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69661bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69662bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69663bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); - free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69664bv64) == 120bv8); - free ensures (memory_load8_le(mem, 69665bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69666bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69667bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69668bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69669bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69670bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69671bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69672bv64) == 156bv8); - free ensures (memory_load8_le(mem, 69673bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69674bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); - free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); - free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); - free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R29, R30, R31, stack; - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); - free requires (memory_load8_le(mem, 69640bv64) == 8bv8); - free requires (memory_load8_le(mem, 69641bv64) == 16bv8); - free requires (memory_load8_le(mem, 69642bv64) == 1bv8); - free requires (memory_load8_le(mem, 69643bv64) == 0bv8); - free requires (memory_load8_le(mem, 69644bv64) == 0bv8); - free requires (memory_load8_le(mem, 69645bv64) == 0bv8); - free requires (memory_load8_le(mem, 69646bv64) == 0bv8); - free requires (memory_load8_le(mem, 69647bv64) == 0bv8); - free requires (memory_load8_le(mem, 69648bv64) == 5bv8); - free requires (memory_load8_le(mem, 69649bv64) == 0bv8); - free requires (memory_load8_le(mem, 69650bv64) == 0bv8); - free requires (memory_load8_le(mem, 69651bv64) == 0bv8); - free requires (memory_load8_le(mem, 69652bv64) == 0bv8); - free requires (memory_load8_le(mem, 69653bv64) == 0bv8); - free requires (memory_load8_le(mem, 69654bv64) == 0bv8); - free requires (memory_load8_le(mem, 69655bv64) == 0bv8); - free requires (memory_load8_le(mem, 69656bv64) == 84bv8); - free requires (memory_load8_le(mem, 69657bv64) == 7bv8); - free requires (memory_load8_le(mem, 69658bv64) == 0bv8); - free requires (memory_load8_le(mem, 69659bv64) == 0bv8); - free requires (memory_load8_le(mem, 69660bv64) == 0bv8); - free requires (memory_load8_le(mem, 69661bv64) == 0bv8); - free requires (memory_load8_le(mem, 69662bv64) == 0bv8); - free requires (memory_load8_le(mem, 69663bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 120bv8); - free requires (memory_load8_le(mem, 69665bv64) == 7bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 156bv8); - free requires (memory_load8_le(mem, 69673bv64) == 7bv8); - free requires (memory_load8_le(mem, 69674bv64) == 0bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free requires (memory_load8_le(mem, 2080bv64) == 1bv8); - free requires (memory_load8_le(mem, 2081bv64) == 0bv8); - free requires (memory_load8_le(mem, 2082bv64) == 2bv8); - free requires (memory_load8_le(mem, 2083bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 192bv8); - free requires (memory_load8_le(mem, 69617bv64) == 7bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69656bv64) == 84bv8); - free requires (memory_load8_le(mem, 69657bv64) == 7bv8); - free requires (memory_load8_le(mem, 69658bv64) == 0bv8); - free requires (memory_load8_le(mem, 69659bv64) == 0bv8); - free requires (memory_load8_le(mem, 69660bv64) == 0bv8); - free requires (memory_load8_le(mem, 69661bv64) == 0bv8); - free requires (memory_load8_le(mem, 69662bv64) == 0bv8); - free requires (memory_load8_le(mem, 69663bv64) == 0bv8); - free requires (memory_load8_le(mem, 69016bv64) == 80bv8); - free requires (memory_load8_le(mem, 69017bv64) == 7bv8); - free requires (memory_load8_le(mem, 69018bv64) == 0bv8); - free requires (memory_load8_le(mem, 69019bv64) == 0bv8); - free requires (memory_load8_le(mem, 69020bv64) == 0bv8); - free requires (memory_load8_le(mem, 69021bv64) == 0bv8); - free requires (memory_load8_le(mem, 69022bv64) == 0bv8); - free requires (memory_load8_le(mem, 69023bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 120bv8); - free requires (memory_load8_le(mem, 69665bv64) == 7bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69024bv64) == 0bv8); - free requires (memory_load8_le(mem, 69025bv64) == 7bv8); - free requires (memory_load8_le(mem, 69026bv64) == 0bv8); - free requires (memory_load8_le(mem, 69027bv64) == 0bv8); - free requires (memory_load8_le(mem, 69028bv64) == 0bv8); - free requires (memory_load8_le(mem, 69029bv64) == 0bv8); - free requires (memory_load8_le(mem, 69030bv64) == 0bv8); - free requires (memory_load8_le(mem, 69031bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 156bv8); - free requires (memory_load8_le(mem, 69673bv64) == 7bv8); - free requires (memory_load8_le(mem, 69674bv64) == 0bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free requires (memory_load8_le(mem, 69640bv64) == 8bv8); - free requires (memory_load8_le(mem, 69641bv64) == 16bv8); - free requires (memory_load8_le(mem, 69642bv64) == 1bv8); - free requires (memory_load8_le(mem, 69643bv64) == 0bv8); - free requires (memory_load8_le(mem, 69644bv64) == 0bv8); - free requires (memory_load8_le(mem, 69645bv64) == 0bv8); - free requires (memory_load8_le(mem, 69646bv64) == 0bv8); - free requires (memory_load8_le(mem, 69647bv64) == 0bv8); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); - free ensures (memory_load8_le(mem, 2080bv64) == 1bv8); - free ensures (memory_load8_le(mem, 2081bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2082bv64) == 2bv8); - free ensures (memory_load8_le(mem, 2083bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69616bv64) == 192bv8); - free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69656bv64) == 84bv8); - free ensures (memory_load8_le(mem, 69657bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69658bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69659bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69660bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69661bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69662bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69663bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); - free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69664bv64) == 120bv8); - free ensures (memory_load8_le(mem, 69665bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69666bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69667bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69668bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69669bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69670bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69671bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69672bv64) == 156bv8); - free ensures (memory_load8_le(mem, 69673bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69674bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); - free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); - free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); - free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); -{ - var #4: bv64; - var Gamma_#4: bool; - lmain: - #4, Gamma_#4 := bvadd64(R31, 18446744073709551584bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #4, R29), gamma_store64(Gamma_stack, #4, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#4, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#4, 8bv64), Gamma_R30); - R31, Gamma_R31 := #4, Gamma_#4; - R29, Gamma_R29 := R31, Gamma_R31; - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 28bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 28bv64), Gamma_R0); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R1), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R1); - R0, Gamma_R0 := 69632bv64, true; - R0, Gamma_R0 := bvadd64(R0, 24bv64), Gamma_R0; - R0, Gamma_R0 := memory_load64_le(mem, R0), (gamma_load64(Gamma_mem, R0) || L(mem, R0)); - R30, Gamma_R30 := 2016bv64, true; - //UNRESOLVED: call R0 - assume false; - goto l00000bbf; - l00000bbf: - R0, Gamma_R0 := 69632bv64, true; - R0, Gamma_R0 := bvadd64(R0, 24bv64), Gamma_R0; - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 8bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 8bv64)) || L(mem, bvadd64(R0, 8bv64))); - R30, Gamma_R30 := 2032bv64, true; - //UNRESOLVED: call R0 - assume false; - goto l00000bd9; - l00000bd9: - R0, Gamma_R0 := 69632bv64, true; - R0, Gamma_R0 := bvadd64(R0, 24bv64), Gamma_R0; - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 16bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 16bv64)) || L(mem, bvadd64(R0, 16bv64))); - R30, Gamma_R30 := 2048bv64, true; - //UNRESOLVED: call R0 - assume false; - goto l00000bf3; - l00000bf3: - R0, Gamma_R0 := 0bv64, true; - R29, Gamma_R29 := memory_load64_le(stack, R31), gamma_load64(Gamma_stack, R31); - R30, Gamma_R30 := memory_load64_le(stack, bvadd64(R31, 8bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 8bv64)); - R31, Gamma_R31 := bvadd64(R31, 32bv64), Gamma_R31; - return; -} diff --git a/src/test/correct/jumptable2/gcc_pic/jumptable2.expected b/src/test/correct/jumptable2/gcc_pic/jumptable2.expected deleted file mode 100644 index 289e9e205..000000000 --- a/src/test/correct/jumptable2/gcc_pic/jumptable2.expected +++ /dev/null @@ -1,395 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R1: bool; -var Gamma_R29: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R1: bv64; -var R29: bv64; -var R30: bv64; -var R31: bv64; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -const $_IO_stdin_used_addr: bv64; -axiom ($_IO_stdin_used_addr == 2144bv64); -const $jump_table_addr: bv64; -axiom ($jump_table_addr == 69656bv64); -const $x_addr: bv64; -axiom ($x_addr == 69648bv64); -function L(memory: [bv64]bv8, index: bv64) returns (bool) { - false -} - -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -procedure rely(); - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - free ensures (memory_load8_le(mem, 2144bv64) == 1bv8); - free ensures (memory_load8_le(mem, 2145bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2146bv64) == 2bv8); - free ensures (memory_load8_le(mem, 2147bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69608bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69609bv64) == 8bv8); - free ensures (memory_load8_le(mem, 69610bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69611bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69612bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69613bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69614bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69615bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69656bv64) == 148bv8); - free ensures (memory_load8_le(mem, 69657bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69658bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69659bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69660bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69661bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69662bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69663bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69664bv64) == 184bv8); - free ensures (memory_load8_le(mem, 69665bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69666bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69667bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69668bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69669bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69670bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69671bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69008bv64) == 64bv8); - free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69624bv64) == 24bv8); - free ensures (memory_load8_le(mem, 69625bv64) == 16bv8); - free ensures (memory_load8_le(mem, 69626bv64) == 1bv8); - free ensures (memory_load8_le(mem, 69627bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69628bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69629bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69630bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69631bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69592bv64) == 16bv8); - free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); - free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); - free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69000bv64) == 144bv8); - free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69672bv64) == 220bv8); - free ensures (memory_load8_le(mem, 69673bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69674bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); - free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); - free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); - free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R29, R30, R31, stack; - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); - free requires (memory_load8_le(mem, 69640bv64) == 8bv8); - free requires (memory_load8_le(mem, 69641bv64) == 16bv8); - free requires (memory_load8_le(mem, 69642bv64) == 1bv8); - free requires (memory_load8_le(mem, 69643bv64) == 0bv8); - free requires (memory_load8_le(mem, 69644bv64) == 0bv8); - free requires (memory_load8_le(mem, 69645bv64) == 0bv8); - free requires (memory_load8_le(mem, 69646bv64) == 0bv8); - free requires (memory_load8_le(mem, 69647bv64) == 0bv8); - free requires (memory_load8_le(mem, 69648bv64) == 5bv8); - free requires (memory_load8_le(mem, 69649bv64) == 0bv8); - free requires (memory_load8_le(mem, 69650bv64) == 0bv8); - free requires (memory_load8_le(mem, 69651bv64) == 0bv8); - free requires (memory_load8_le(mem, 69652bv64) == 0bv8); - free requires (memory_load8_le(mem, 69653bv64) == 0bv8); - free requires (memory_load8_le(mem, 69654bv64) == 0bv8); - free requires (memory_load8_le(mem, 69655bv64) == 0bv8); - free requires (memory_load8_le(mem, 69656bv64) == 148bv8); - free requires (memory_load8_le(mem, 69657bv64) == 7bv8); - free requires (memory_load8_le(mem, 69658bv64) == 0bv8); - free requires (memory_load8_le(mem, 69659bv64) == 0bv8); - free requires (memory_load8_le(mem, 69660bv64) == 0bv8); - free requires (memory_load8_le(mem, 69661bv64) == 0bv8); - free requires (memory_load8_le(mem, 69662bv64) == 0bv8); - free requires (memory_load8_le(mem, 69663bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 184bv8); - free requires (memory_load8_le(mem, 69665bv64) == 7bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 220bv8); - free requires (memory_load8_le(mem, 69673bv64) == 7bv8); - free requires (memory_load8_le(mem, 69674bv64) == 0bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free requires (memory_load8_le(mem, 2144bv64) == 1bv8); - free requires (memory_load8_le(mem, 2145bv64) == 0bv8); - free requires (memory_load8_le(mem, 2146bv64) == 2bv8); - free requires (memory_load8_le(mem, 2147bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 8bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69656bv64) == 148bv8); - free requires (memory_load8_le(mem, 69657bv64) == 7bv8); - free requires (memory_load8_le(mem, 69658bv64) == 0bv8); - free requires (memory_load8_le(mem, 69659bv64) == 0bv8); - free requires (memory_load8_le(mem, 69660bv64) == 0bv8); - free requires (memory_load8_le(mem, 69661bv64) == 0bv8); - free requires (memory_load8_le(mem, 69662bv64) == 0bv8); - free requires (memory_load8_le(mem, 69663bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 184bv8); - free requires (memory_load8_le(mem, 69665bv64) == 7bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69008bv64) == 64bv8); - free requires (memory_load8_le(mem, 69009bv64) == 7bv8); - free requires (memory_load8_le(mem, 69010bv64) == 0bv8); - free requires (memory_load8_le(mem, 69011bv64) == 0bv8); - free requires (memory_load8_le(mem, 69012bv64) == 0bv8); - free requires (memory_load8_le(mem, 69013bv64) == 0bv8); - free requires (memory_load8_le(mem, 69014bv64) == 0bv8); - free requires (memory_load8_le(mem, 69015bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 24bv8); - free requires (memory_load8_le(mem, 69625bv64) == 16bv8); - free requires (memory_load8_le(mem, 69626bv64) == 1bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 16bv8); - free requires (memory_load8_le(mem, 69593bv64) == 16bv8); - free requires (memory_load8_le(mem, 69594bv64) == 1bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69000bv64) == 144bv8); - free requires (memory_load8_le(mem, 69001bv64) == 7bv8); - free requires (memory_load8_le(mem, 69002bv64) == 0bv8); - free requires (memory_load8_le(mem, 69003bv64) == 0bv8); - free requires (memory_load8_le(mem, 69004bv64) == 0bv8); - free requires (memory_load8_le(mem, 69005bv64) == 0bv8); - free requires (memory_load8_le(mem, 69006bv64) == 0bv8); - free requires (memory_load8_le(mem, 69007bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 220bv8); - free requires (memory_load8_le(mem, 69673bv64) == 7bv8); - free requires (memory_load8_le(mem, 69674bv64) == 0bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free requires (memory_load8_le(mem, 69640bv64) == 8bv8); - free requires (memory_load8_le(mem, 69641bv64) == 16bv8); - free requires (memory_load8_le(mem, 69642bv64) == 1bv8); - free requires (memory_load8_le(mem, 69643bv64) == 0bv8); - free requires (memory_load8_le(mem, 69644bv64) == 0bv8); - free requires (memory_load8_le(mem, 69645bv64) == 0bv8); - free requires (memory_load8_le(mem, 69646bv64) == 0bv8); - free requires (memory_load8_le(mem, 69647bv64) == 0bv8); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); - free ensures (memory_load8_le(mem, 2144bv64) == 1bv8); - free ensures (memory_load8_le(mem, 2145bv64) == 0bv8); - free ensures (memory_load8_le(mem, 2146bv64) == 2bv8); - free ensures (memory_load8_le(mem, 2147bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69608bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69609bv64) == 8bv8); - free ensures (memory_load8_le(mem, 69610bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69611bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69612bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69613bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69614bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69615bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69656bv64) == 148bv8); - free ensures (memory_load8_le(mem, 69657bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69658bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69659bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69660bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69661bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69662bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69663bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69664bv64) == 184bv8); - free ensures (memory_load8_le(mem, 69665bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69666bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69667bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69668bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69669bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69670bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69671bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69008bv64) == 64bv8); - free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69624bv64) == 24bv8); - free ensures (memory_load8_le(mem, 69625bv64) == 16bv8); - free ensures (memory_load8_le(mem, 69626bv64) == 1bv8); - free ensures (memory_load8_le(mem, 69627bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69628bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69629bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69630bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69631bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69592bv64) == 16bv8); - free ensures (memory_load8_le(mem, 69593bv64) == 16bv8); - free ensures (memory_load8_le(mem, 69594bv64) == 1bv8); - free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69000bv64) == 144bv8); - free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69672bv64) == 220bv8); - free ensures (memory_load8_le(mem, 69673bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69674bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); - free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); - free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); - free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); -{ - var #4: bv64; - var Gamma_#4: bool; - lmain: - #4, Gamma_#4 := bvadd64(R31, 18446744073709551584bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #4, R29), gamma_store64(Gamma_stack, #4, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#4, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#4, 8bv64), Gamma_R30); - R31, Gamma_R31 := #4, Gamma_#4; - R29, Gamma_R29 := R31, Gamma_R31; - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 28bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 28bv64), Gamma_R0); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R1), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R1); - R0, Gamma_R0 := 65536bv64, true; - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4088bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4088bv64)) || L(mem, bvadd64(R0, 4088bv64))); - R0, Gamma_R0 := memory_load64_le(mem, R0), (gamma_load64(Gamma_mem, R0) || L(mem, R0)); - R30, Gamma_R30 := 2080bv64, true; - //UNRESOLVED: call R0 - assume false; - goto l00000445; - l00000445: - R0, Gamma_R0 := 65536bv64, true; - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4088bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4088bv64)) || L(mem, bvadd64(R0, 4088bv64))); - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 8bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 8bv64)) || L(mem, bvadd64(R0, 8bv64))); - R30, Gamma_R30 := 2096bv64, true; - //UNRESOLVED: call R0 - assume false; - goto l00000460; - l00000460: - R0, Gamma_R0 := 65536bv64, true; - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4088bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4088bv64)) || L(mem, bvadd64(R0, 4088bv64))); - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 16bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 16bv64)) || L(mem, bvadd64(R0, 16bv64))); - R30, Gamma_R30 := 2112bv64, true; - //UNRESOLVED: call R0 - assume false; - goto l0000047b; - l0000047b: - R0, Gamma_R0 := 0bv64, true; - R29, Gamma_R29 := memory_load64_le(stack, R31), gamma_load64(Gamma_stack, R31); - R30, Gamma_R30 := memory_load64_le(stack, bvadd64(R31, 8bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 8bv64)); - R31, Gamma_R31 := bvadd64(R31, 32bv64), Gamma_R31; - return; -} diff --git a/src/test/correct/jumptable3/clang/jumptable3.expected b/src/test/correct/jumptable3/clang/jumptable3.expected deleted file mode 100644 index 65c332cba..000000000 --- a/src/test/correct/jumptable3/clang/jumptable3.expected +++ /dev/null @@ -1,306 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R1: bool; -var Gamma_R10: bool; -var Gamma_R11: bool; -var Gamma_R29: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_R8: bool; -var Gamma_R9: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R1: bv64; -var R10: bv64; -var R11: bv64; -var R29: bv64; -var R30: bv64; -var R31: bv64; -var R8: bv64; -var R9: bv64; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -function L(memory: [bv64]bv8, index: bv64) returns (bool) { - false -} - -function {:bvbuiltin "bvadd"} bvadd32(bv32, bv32) returns (bv32); -function {:bvbuiltin "bvadd"} bvadd33(bv33, bv33) returns (bv33); -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function {:bvbuiltin "bvadd"} bvadd65(bv65, bv65) returns (bv65); -function {:bvbuiltin "bvand"} bvand1(bv1, bv1) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp1(bv1, bv1) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp32(bv32, bv32) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp33(bv33, bv33) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp64(bv64, bv64) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp65(bv65, bv65) returns (bv1); -function {:bvbuiltin "bvnot"} bvnot1(bv1) returns (bv1); -function gamma_load32(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))) -} - -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load32_le(memory: [bv64]bv8, index: bv64) returns (bv32) { - (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))) -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -function {:bvbuiltin "sign_extend 1"} sign_extend1_32(bv32) returns (bv33); -function {:bvbuiltin "sign_extend 1"} sign_extend1_64(bv64) returns (bv65); -function {:bvbuiltin "sign_extend 32"} sign_extend32_32(bv32) returns (bv64); -function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); -function {:bvbuiltin "zero_extend 1"} zero_extend1_64(bv64) returns (bv65); -function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); -procedure rely(); - modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R0, Gamma_R10, Gamma_R11, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_stack, R0, R10, R11, R29, R30, R31, R8, R9, stack; - requires (Gamma_R0 == true); - free requires (memory_load8_le(mem, 2136bv64) == 1bv8); - free requires (memory_load8_le(mem, 2137bv64) == 0bv8); - free requires (memory_load8_le(mem, 2138bv64) == 2bv8); - free requires (memory_load8_le(mem, 2139bv64) == 0bv8); - free requires (memory_load8_le(mem, 2140bv64) == 16bv8); - free requires (memory_load8_le(mem, 2141bv64) == 0bv8); - free requires (memory_load8_le(mem, 2142bv64) == 0bv8); - free requires (memory_load8_le(mem, 2143bv64) == 0bv8); - free requires (memory_load8_le(mem, 2144bv64) == 24bv8); - free requires (memory_load8_le(mem, 2145bv64) == 0bv8); - free requires (memory_load8_le(mem, 2146bv64) == 0bv8); - free requires (memory_load8_le(mem, 2147bv64) == 0bv8); - free requires (memory_load8_le(mem, 2148bv64) == 32bv8); - free requires (memory_load8_le(mem, 2149bv64) == 0bv8); - free requires (memory_load8_le(mem, 2150bv64) == 0bv8); - free requires (memory_load8_le(mem, 2151bv64) == 0bv8); - free requires (memory_load8_le(mem, 2152bv64) == 40bv8); - free requires (memory_load8_le(mem, 2153bv64) == 0bv8); - free requires (memory_load8_le(mem, 2154bv64) == 0bv8); - free requires (memory_load8_le(mem, 2155bv64) == 0bv8); - free requires (memory_load8_le(mem, 2156bv64) == 52bv8); - free requires (memory_load8_le(mem, 2157bv64) == 0bv8); - free requires (memory_load8_le(mem, 2158bv64) == 0bv8); - free requires (memory_load8_le(mem, 2159bv64) == 0bv8); - free requires (memory_load8_le(mem, 2160bv64) == 60bv8); - free requires (memory_load8_le(mem, 2161bv64) == 0bv8); - free requires (memory_load8_le(mem, 2162bv64) == 0bv8); - free requires (memory_load8_le(mem, 2163bv64) == 0bv8); - free requires (memory_load8_le(mem, 2164bv64) == 72bv8); - free requires (memory_load8_le(mem, 2165bv64) == 0bv8); - free requires (memory_load8_le(mem, 2166bv64) == 0bv8); - free requires (memory_load8_le(mem, 2167bv64) == 0bv8); - free requires (memory_load8_le(mem, 2168bv64) == 80bv8); - free requires (memory_load8_le(mem, 2169bv64) == 0bv8); - free requires (memory_load8_le(mem, 2170bv64) == 0bv8); - free requires (memory_load8_le(mem, 2171bv64) == 0bv8); - free requires (memory_load8_le(mem, 2172bv64) == 88bv8); - free requires (memory_load8_le(mem, 2173bv64) == 0bv8); - free requires (memory_load8_le(mem, 2174bv64) == 0bv8); - free requires (memory_load8_le(mem, 2175bv64) == 0bv8); - free requires (memory_load8_le(mem, 2176bv64) == 100bv8); - free requires (memory_load8_le(mem, 2177bv64) == 0bv8); - free requires (memory_load8_le(mem, 2178bv64) == 0bv8); - free requires (memory_load8_le(mem, 2179bv64) == 0bv8); - free requires (memory_load8_le(mem, 2180bv64) == 112bv8); - free requires (memory_load8_le(mem, 2181bv64) == 0bv8); - free requires (memory_load8_le(mem, 2182bv64) == 0bv8); - free requires (memory_load8_le(mem, 2183bv64) == 0bv8); - free requires (memory_load8_le(mem, 2184bv64) == 128bv8); - free requires (memory_load8_le(mem, 2185bv64) == 0bv8); - free requires (memory_load8_le(mem, 2186bv64) == 0bv8); - free requires (memory_load8_le(mem, 2187bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 80bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 40bv8); - free requires (memory_load8_le(mem, 69673bv64) == 16bv8); - free requires (memory_load8_le(mem, 69674bv64) == 1bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free requires (memory_load8_le(mem, 69680bv64) == 5bv8); - free requires (memory_load8_le(mem, 69681bv64) == 0bv8); - free requires (memory_load8_le(mem, 69682bv64) == 0bv8); - free requires (memory_load8_le(mem, 69683bv64) == 0bv8); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); -{ - var #5: bv64; - var #6: bv32; - var #7: bv64; - var #8: bv64; - var CF: bv1; - var Gamma_#5: bool; - var Gamma_#6: bool; - var Gamma_#7: bool; - var Gamma_#8: bool; - var Gamma_CF: bool; - var Gamma_NF: bool; - var Gamma_VF: bool; - var Gamma_ZF: bool; - var NF: bv1; - var VF: bv1; - var ZF: bv1; - lmain: - R31, Gamma_R31 := bvadd64(R31, 18446744073709551568bv64), Gamma_R31; - #5, Gamma_#5 := bvadd64(R31, 32bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #5, R29), gamma_store64(Gamma_stack, #5, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#5, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#5, 8bv64), Gamma_R30); - R29, Gamma_R29 := bvadd64(R31, 32bv64), Gamma_R31; - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551612bv64), 0bv32), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551612bv64), true); - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551608bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551608bv64), Gamma_R0); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R1), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R1); - R8, Gamma_R8 := zero_extend32_32(memory_load32_le(stack, bvadd64(R29, 18446744073709551608bv64))), gamma_load32(Gamma_stack, bvadd64(R29, 18446744073709551608bv64)); - #6, Gamma_#6 := bvadd32(R8[32:0], 4294967295bv32), Gamma_R8; - VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#6, 1bv32)), bvadd33(sign_extend1_32(R8[32:0]), 0bv33))), (Gamma_R8 && Gamma_#6); - CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#6, 1bv32)), bvadd33(zero_extend1_32(R8[32:0]), 4294967296bv33))), (Gamma_R8 && Gamma_#6); - ZF, Gamma_ZF := bvcomp32(bvadd32(#6, 1bv32), 0bv32), Gamma_#6; - NF, Gamma_NF := bvadd32(#6, 1bv32)[32:31], Gamma_#6; - R8, Gamma_R8 := zero_extend32_32(bvadd32(#6, 1bv32)), Gamma_#6; - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 8bv64), R8), gamma_store64(Gamma_stack, bvadd64(R31, 8bv64), Gamma_R8); - #7, Gamma_#7 := bvadd64(R8, 18446744073709551604bv64), Gamma_R8; - VF, Gamma_VF := bvnot1(bvcomp65(sign_extend1_64(bvadd64(#7, 1bv64)), bvadd65(sign_extend1_64(R8), 36893488147419103221bv65))), (Gamma_R8 && Gamma_#7); - CF, Gamma_CF := bvnot1(bvcomp65(zero_extend1_64(bvadd64(#7, 1bv64)), bvadd65(zero_extend1_64(R8), 18446744073709551605bv65))), (Gamma_R8 && Gamma_#7); - ZF, Gamma_ZF := bvcomp64(bvadd64(#7, 1bv64), 0bv64), Gamma_#7; - NF, Gamma_NF := bvadd64(#7, 1bv64)[64:63], Gamma_#7; - R8, Gamma_R8 := bvadd64(#7, 1bv64), Gamma_#7; - assert (Gamma_ZF && Gamma_CF); - if ((bvnot1(bvand1(bvcomp1(CF, 1bv1), bvcomp1(ZF, 0bv1))) != 0bv1)) { - goto l000004cd; - } - goto l000004d0; - l000004d0: - R8, Gamma_R8 := 1bv64, true; - goto l000004d3; - l000004cd: - R8, Gamma_R8 := 0bv64, true; - goto l000004d3; - l000004d3: - assert Gamma_R8; - if ((bvcomp1(R8[1:0], 1bv1) != 0bv1)) { - goto l000004db; - } - goto l0000052b; - l000004db: - R8, Gamma_R8 := 1bv64, true; - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551612bv64), R8[32:0]), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551612bv64), Gamma_R8); - goto l000004ee; - l000004ee: - R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R29, 18446744073709551612bv64))), gamma_load32(Gamma_stack, bvadd64(R29, 18446744073709551612bv64)); - #8, Gamma_#8 := bvadd64(R31, 32bv64), Gamma_R31; - R29, Gamma_R29 := memory_load64_le(stack, #8), gamma_load64(Gamma_stack, #8); - R30, Gamma_R30 := memory_load64_le(stack, bvadd64(#8, 8bv64)), gamma_load64(Gamma_stack, bvadd64(#8, 8bv64)); - R31, Gamma_R31 := bvadd64(R31, 48bv64), Gamma_R31; - return; - l0000052b: - R11, Gamma_R11 := memory_load64_le(stack, bvadd64(R31, 8bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 8bv64)); - R10, Gamma_R10 := 0bv64, true; - R10, Gamma_R10 := bvadd64(R10, 2140bv64), Gamma_R10; - R8, Gamma_R8 := 1932bv64, true; - R9, Gamma_R9 := sign_extend32_32(memory_load32_le(mem, bvadd64(R10, (R11[62:0] ++ 0bv2)))), (gamma_load32(Gamma_mem, bvadd64(R10, (R11[62:0] ++ 0bv2))) || L(mem, bvadd64(R10, (R11[62:0] ++ 0bv2)))); - R8, Gamma_R8 := bvadd64(R8, R9), (Gamma_R9 && Gamma_R8); - //UNRESOLVED: call R8 - assume false; - //no return target - assume false; -} diff --git a/src/test/correct/jumptable3/clang_O2/jumptable3.expected b/src/test/correct/jumptable3/clang_O2/jumptable3.expected deleted file mode 100644 index 5460ffcb9..000000000 --- a/src/test/correct/jumptable3/clang_O2/jumptable3.expected +++ /dev/null @@ -1,183 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R10: bool; -var Gamma_R11: bool; -var Gamma_R12: bool; -var Gamma_R8: bool; -var Gamma_R9: bool; -var Gamma_mem: [bv64]bool; -var R0: bv64; -var R10: bv64; -var R11: bv64; -var R12: bv64; -var R8: bv64; -var R9: bv64; -var mem: [bv64]bv8; -function L(memory: [bv64]bv8, index: bv64) returns (bool) { - false -} - -function {:bvbuiltin "bvadd"} bvadd32(bv32, bv32) returns (bv32); -function {:bvbuiltin "bvadd"} bvadd33(bv33, bv33) returns (bv33); -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function {:bvbuiltin "bvand"} bvand1(bv1, bv1) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp1(bv1, bv1) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp32(bv32, bv32) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp33(bv33, bv33) returns (bv1); -function {:bvbuiltin "bvnot"} bvnot1(bv1) returns (bv1); -function gamma_load8(gammaMap: [bv64]bool, index: bv64) returns (bool) { - gammaMap[index] -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function {:bvbuiltin "sign_extend 1"} sign_extend1_32(bv32) returns (bv33); -function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); -function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); -function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); -procedure rely(); - modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R0, Gamma_R10, Gamma_R11, Gamma_R12, Gamma_R8, Gamma_R9, R0, R10, R11, R12, R8, R9; - requires (Gamma_R0 == true); - free requires (memory_load8_le(mem, 2096bv64) == 1bv8); - free requires (memory_load8_le(mem, 2097bv64) == 0bv8); - free requires (memory_load8_le(mem, 2098bv64) == 2bv8); - free requires (memory_load8_le(mem, 2099bv64) == 0bv8); - free requires (memory_load8_le(mem, 2100bv64) == 2bv8); - free requires (memory_load8_le(mem, 2101bv64) == 6bv8); - free requires (memory_load8_le(mem, 2102bv64) == 9bv8); - free requires (memory_load8_le(mem, 2103bv64) == 0bv8); - free requires (memory_load8_le(mem, 2104bv64) == 13bv8); - free requires (memory_load8_le(mem, 2105bv64) == 17bv8); - free requires (memory_load8_le(mem, 2106bv64) == 20bv8); - free requires (memory_load8_le(mem, 2107bv64) == 23bv8); - free requires (memory_load8_le(mem, 2108bv64) == 26bv8); - free requires (memory_load8_le(mem, 2109bv64) == 30bv8); - free requires (memory_load8_le(mem, 2110bv64) == 34bv8); - free requires (memory_load8_le(mem, 2111bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 80bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 40bv8); - free requires (memory_load8_le(mem, 69673bv64) == 16bv8); - free requires (memory_load8_le(mem, 69674bv64) == 1bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free requires (memory_load8_le(mem, 69680bv64) == 5bv8); - free requires (memory_load8_le(mem, 69681bv64) == 0bv8); - free requires (memory_load8_le(mem, 69682bv64) == 0bv8); - free requires (memory_load8_le(mem, 69683bv64) == 0bv8); -{ - var #4: bv32; - var CF: bv1; - var Gamma_#4: bool; - var Gamma_CF: bool; - var Gamma_NF: bool; - var Gamma_VF: bool; - var Gamma_ZF: bool; - var NF: bv1; - var VF: bv1; - var ZF: bv1; - lmain: - #4, Gamma_#4 := bvadd32(R0[32:0], 4294967284bv32), Gamma_R0; - VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#4, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934581bv33))), (Gamma_R0 && Gamma_#4); - CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#4, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967285bv33))), (Gamma_R0 && Gamma_#4); - ZF, Gamma_ZF := bvcomp32(bvadd32(#4, 1bv32), 0bv32), Gamma_#4; - NF, Gamma_NF := bvadd32(#4, 1bv32)[32:31], Gamma_#4; - assert (Gamma_ZF && Gamma_CF); - if ((bvand1(bvcomp1(CF, 1bv1), bvcomp1(ZF, 0bv1)) != 0bv1)) { - goto l0000042a; - } - goto l00000439; - l0000042a: - R0, Gamma_R0 := 1bv64, true; - return; - l00000439: - R9, Gamma_R9 := zero_extend32_32(R0[32:0]), Gamma_R0; - R10, Gamma_R10 := 0bv64, true; - R10, Gamma_R10 := bvadd64(R10, 2100bv64), Gamma_R10; - R8, Gamma_R8 := 69632bv64, true; - R11, Gamma_R11 := 1912bv64, true; - R12, Gamma_R12 := zero_extend56_8(memory_load8_le(mem, bvadd64(R10, R9))), (gamma_load8(Gamma_mem, bvadd64(R10, R9)) || L(mem, bvadd64(R10, R9))); - R11, Gamma_R11 := bvadd64(R11, (R12[62:0] ++ 0bv2)), (Gamma_R12 && Gamma_R11); - //UNRESOLVED: call R11 - assume false; - //no return target - assume false; -} diff --git a/src/test/correct/jumptable3/clang_no_plt_no_pic/jumptable3.expected b/src/test/correct/jumptable3/clang_no_plt_no_pic/jumptable3.expected deleted file mode 100644 index cad42e2a9..000000000 --- a/src/test/correct/jumptable3/clang_no_plt_no_pic/jumptable3.expected +++ /dev/null @@ -1,306 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R1: bool; -var Gamma_R10: bool; -var Gamma_R11: bool; -var Gamma_R29: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_R8: bool; -var Gamma_R9: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R1: bv64; -var R10: bv64; -var R11: bv64; -var R29: bv64; -var R30: bv64; -var R31: bv64; -var R8: bv64; -var R9: bv64; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -function L(memory: [bv64]bv8, index: bv64) returns (bool) { - false -} - -function {:bvbuiltin "bvadd"} bvadd32(bv32, bv32) returns (bv32); -function {:bvbuiltin "bvadd"} bvadd33(bv33, bv33) returns (bv33); -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function {:bvbuiltin "bvadd"} bvadd65(bv65, bv65) returns (bv65); -function {:bvbuiltin "bvand"} bvand1(bv1, bv1) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp1(bv1, bv1) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp32(bv32, bv32) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp33(bv33, bv33) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp64(bv64, bv64) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp65(bv65, bv65) returns (bv1); -function {:bvbuiltin "bvnot"} bvnot1(bv1) returns (bv1); -function gamma_load32(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))) -} - -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load32_le(memory: [bv64]bv8, index: bv64) returns (bv32) { - (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))) -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -function {:bvbuiltin "sign_extend 1"} sign_extend1_32(bv32) returns (bv33); -function {:bvbuiltin "sign_extend 1"} sign_extend1_64(bv64) returns (bv65); -function {:bvbuiltin "sign_extend 32"} sign_extend32_32(bv32) returns (bv64); -function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); -function {:bvbuiltin "zero_extend 1"} zero_extend1_64(bv64) returns (bv65); -function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); -procedure rely(); - modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R0, Gamma_R10, Gamma_R11, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_stack, R0, R10, R11, R29, R30, R31, R8, R9, stack; - requires (Gamma_R0 == true); - free requires (memory_load8_le(mem, 2136bv64) == 1bv8); - free requires (memory_load8_le(mem, 2137bv64) == 0bv8); - free requires (memory_load8_le(mem, 2138bv64) == 2bv8); - free requires (memory_load8_le(mem, 2139bv64) == 0bv8); - free requires (memory_load8_le(mem, 2140bv64) == 16bv8); - free requires (memory_load8_le(mem, 2141bv64) == 0bv8); - free requires (memory_load8_le(mem, 2142bv64) == 0bv8); - free requires (memory_load8_le(mem, 2143bv64) == 0bv8); - free requires (memory_load8_le(mem, 2144bv64) == 24bv8); - free requires (memory_load8_le(mem, 2145bv64) == 0bv8); - free requires (memory_load8_le(mem, 2146bv64) == 0bv8); - free requires (memory_load8_le(mem, 2147bv64) == 0bv8); - free requires (memory_load8_le(mem, 2148bv64) == 32bv8); - free requires (memory_load8_le(mem, 2149bv64) == 0bv8); - free requires (memory_load8_le(mem, 2150bv64) == 0bv8); - free requires (memory_load8_le(mem, 2151bv64) == 0bv8); - free requires (memory_load8_le(mem, 2152bv64) == 40bv8); - free requires (memory_load8_le(mem, 2153bv64) == 0bv8); - free requires (memory_load8_le(mem, 2154bv64) == 0bv8); - free requires (memory_load8_le(mem, 2155bv64) == 0bv8); - free requires (memory_load8_le(mem, 2156bv64) == 52bv8); - free requires (memory_load8_le(mem, 2157bv64) == 0bv8); - free requires (memory_load8_le(mem, 2158bv64) == 0bv8); - free requires (memory_load8_le(mem, 2159bv64) == 0bv8); - free requires (memory_load8_le(mem, 2160bv64) == 60bv8); - free requires (memory_load8_le(mem, 2161bv64) == 0bv8); - free requires (memory_load8_le(mem, 2162bv64) == 0bv8); - free requires (memory_load8_le(mem, 2163bv64) == 0bv8); - free requires (memory_load8_le(mem, 2164bv64) == 72bv8); - free requires (memory_load8_le(mem, 2165bv64) == 0bv8); - free requires (memory_load8_le(mem, 2166bv64) == 0bv8); - free requires (memory_load8_le(mem, 2167bv64) == 0bv8); - free requires (memory_load8_le(mem, 2168bv64) == 80bv8); - free requires (memory_load8_le(mem, 2169bv64) == 0bv8); - free requires (memory_load8_le(mem, 2170bv64) == 0bv8); - free requires (memory_load8_le(mem, 2171bv64) == 0bv8); - free requires (memory_load8_le(mem, 2172bv64) == 88bv8); - free requires (memory_load8_le(mem, 2173bv64) == 0bv8); - free requires (memory_load8_le(mem, 2174bv64) == 0bv8); - free requires (memory_load8_le(mem, 2175bv64) == 0bv8); - free requires (memory_load8_le(mem, 2176bv64) == 100bv8); - free requires (memory_load8_le(mem, 2177bv64) == 0bv8); - free requires (memory_load8_le(mem, 2178bv64) == 0bv8); - free requires (memory_load8_le(mem, 2179bv64) == 0bv8); - free requires (memory_load8_le(mem, 2180bv64) == 112bv8); - free requires (memory_load8_le(mem, 2181bv64) == 0bv8); - free requires (memory_load8_le(mem, 2182bv64) == 0bv8); - free requires (memory_load8_le(mem, 2183bv64) == 0bv8); - free requires (memory_load8_le(mem, 2184bv64) == 128bv8); - free requires (memory_load8_le(mem, 2185bv64) == 0bv8); - free requires (memory_load8_le(mem, 2186bv64) == 0bv8); - free requires (memory_load8_le(mem, 2187bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 80bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 40bv8); - free requires (memory_load8_le(mem, 69673bv64) == 16bv8); - free requires (memory_load8_le(mem, 69674bv64) == 1bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free requires (memory_load8_le(mem, 69680bv64) == 5bv8); - free requires (memory_load8_le(mem, 69681bv64) == 0bv8); - free requires (memory_load8_le(mem, 69682bv64) == 0bv8); - free requires (memory_load8_le(mem, 69683bv64) == 0bv8); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); -{ - var #5: bv64; - var #6: bv32; - var #7: bv64; - var #8: bv64; - var CF: bv1; - var Gamma_#5: bool; - var Gamma_#6: bool; - var Gamma_#7: bool; - var Gamma_#8: bool; - var Gamma_CF: bool; - var Gamma_NF: bool; - var Gamma_VF: bool; - var Gamma_ZF: bool; - var NF: bv1; - var VF: bv1; - var ZF: bv1; - lmain: - R31, Gamma_R31 := bvadd64(R31, 18446744073709551568bv64), Gamma_R31; - #5, Gamma_#5 := bvadd64(R31, 32bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #5, R29), gamma_store64(Gamma_stack, #5, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#5, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#5, 8bv64), Gamma_R30); - R29, Gamma_R29 := bvadd64(R31, 32bv64), Gamma_R31; - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551612bv64), 0bv32), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551612bv64), true); - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551608bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551608bv64), Gamma_R0); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R1), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R1); - R8, Gamma_R8 := zero_extend32_32(memory_load32_le(stack, bvadd64(R29, 18446744073709551608bv64))), gamma_load32(Gamma_stack, bvadd64(R29, 18446744073709551608bv64)); - #6, Gamma_#6 := bvadd32(R8[32:0], 4294967295bv32), Gamma_R8; - VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#6, 1bv32)), bvadd33(sign_extend1_32(R8[32:0]), 0bv33))), (Gamma_R8 && Gamma_#6); - CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#6, 1bv32)), bvadd33(zero_extend1_32(R8[32:0]), 4294967296bv33))), (Gamma_R8 && Gamma_#6); - ZF, Gamma_ZF := bvcomp32(bvadd32(#6, 1bv32), 0bv32), Gamma_#6; - NF, Gamma_NF := bvadd32(#6, 1bv32)[32:31], Gamma_#6; - R8, Gamma_R8 := zero_extend32_32(bvadd32(#6, 1bv32)), Gamma_#6; - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 8bv64), R8), gamma_store64(Gamma_stack, bvadd64(R31, 8bv64), Gamma_R8); - #7, Gamma_#7 := bvadd64(R8, 18446744073709551604bv64), Gamma_R8; - VF, Gamma_VF := bvnot1(bvcomp65(sign_extend1_64(bvadd64(#7, 1bv64)), bvadd65(sign_extend1_64(R8), 36893488147419103221bv65))), (Gamma_R8 && Gamma_#7); - CF, Gamma_CF := bvnot1(bvcomp65(zero_extend1_64(bvadd64(#7, 1bv64)), bvadd65(zero_extend1_64(R8), 18446744073709551605bv65))), (Gamma_R8 && Gamma_#7); - ZF, Gamma_ZF := bvcomp64(bvadd64(#7, 1bv64), 0bv64), Gamma_#7; - NF, Gamma_NF := bvadd64(#7, 1bv64)[64:63], Gamma_#7; - R8, Gamma_R8 := bvadd64(#7, 1bv64), Gamma_#7; - assert (Gamma_ZF && Gamma_CF); - if ((bvnot1(bvand1(bvcomp1(CF, 1bv1), bvcomp1(ZF, 0bv1))) != 0bv1)) { - goto l00000e0a; - } - goto l00000e0d; - l00000e0d: - R8, Gamma_R8 := 1bv64, true; - goto l00000e10; - l00000e0a: - R8, Gamma_R8 := 0bv64, true; - goto l00000e10; - l00000e10: - assert Gamma_R8; - if ((bvcomp1(R8[1:0], 1bv1) != 0bv1)) { - goto l00000e18; - } - goto l00000e68; - l00000e18: - R8, Gamma_R8 := 1bv64, true; - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551612bv64), R8[32:0]), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551612bv64), Gamma_R8); - goto l00000e2b; - l00000e2b: - R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R29, 18446744073709551612bv64))), gamma_load32(Gamma_stack, bvadd64(R29, 18446744073709551612bv64)); - #8, Gamma_#8 := bvadd64(R31, 32bv64), Gamma_R31; - R29, Gamma_R29 := memory_load64_le(stack, #8), gamma_load64(Gamma_stack, #8); - R30, Gamma_R30 := memory_load64_le(stack, bvadd64(#8, 8bv64)), gamma_load64(Gamma_stack, bvadd64(#8, 8bv64)); - R31, Gamma_R31 := bvadd64(R31, 48bv64), Gamma_R31; - return; - l00000e68: - R11, Gamma_R11 := memory_load64_le(stack, bvadd64(R31, 8bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 8bv64)); - R10, Gamma_R10 := 0bv64, true; - R10, Gamma_R10 := bvadd64(R10, 2140bv64), Gamma_R10; - R8, Gamma_R8 := 1932bv64, true; - R9, Gamma_R9 := sign_extend32_32(memory_load32_le(mem, bvadd64(R10, (R11[62:0] ++ 0bv2)))), (gamma_load32(Gamma_mem, bvadd64(R10, (R11[62:0] ++ 0bv2))) || L(mem, bvadd64(R10, (R11[62:0] ++ 0bv2)))); - R8, Gamma_R8 := bvadd64(R8, R9), (Gamma_R9 && Gamma_R8); - //UNRESOLVED: call R8 - assume false; - //no return target - assume false; -} diff --git a/src/test/correct/jumptable3/clang_pic/jumptable3.expected b/src/test/correct/jumptable3/clang_pic/jumptable3.expected deleted file mode 100644 index ce10bfbdc..000000000 --- a/src/test/correct/jumptable3/clang_pic/jumptable3.expected +++ /dev/null @@ -1,314 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R1: bool; -var Gamma_R10: bool; -var Gamma_R11: bool; -var Gamma_R29: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_R8: bool; -var Gamma_R9: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R1: bv64; -var R10: bv64; -var R11: bv64; -var R29: bv64; -var R30: bv64; -var R31: bv64; -var R8: bv64; -var R9: bv64; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -function L(memory: [bv64]bv8, index: bv64) returns (bool) { - false -} - -function {:bvbuiltin "bvadd"} bvadd32(bv32, bv32) returns (bv32); -function {:bvbuiltin "bvadd"} bvadd33(bv33, bv33) returns (bv33); -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function {:bvbuiltin "bvadd"} bvadd65(bv65, bv65) returns (bv65); -function {:bvbuiltin "bvand"} bvand1(bv1, bv1) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp1(bv1, bv1) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp32(bv32, bv32) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp33(bv33, bv33) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp64(bv64, bv64) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp65(bv65, bv65) returns (bv1); -function {:bvbuiltin "bvnot"} bvnot1(bv1) returns (bv1); -function gamma_load32(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))) -} - -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load32_le(memory: [bv64]bv8, index: bv64) returns (bv32) { - (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))) -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -function {:bvbuiltin "sign_extend 1"} sign_extend1_32(bv32) returns (bv33); -function {:bvbuiltin "sign_extend 1"} sign_extend1_64(bv64) returns (bv65); -function {:bvbuiltin "sign_extend 32"} sign_extend32_32(bv32) returns (bv64); -function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); -function {:bvbuiltin "zero_extend 1"} zero_extend1_64(bv64) returns (bv65); -function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); -procedure rely(); - modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R0, Gamma_R10, Gamma_R11, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_stack, R0, R10, R11, R29, R30, R31, R8, R9, stack; - requires (Gamma_R0 == true); - free requires (memory_load8_le(mem, 2216bv64) == 1bv8); - free requires (memory_load8_le(mem, 2217bv64) == 0bv8); - free requires (memory_load8_le(mem, 2218bv64) == 2bv8); - free requires (memory_load8_le(mem, 2219bv64) == 0bv8); - free requires (memory_load8_le(mem, 2220bv64) == 16bv8); - free requires (memory_load8_le(mem, 2221bv64) == 0bv8); - free requires (memory_load8_le(mem, 2222bv64) == 0bv8); - free requires (memory_load8_le(mem, 2223bv64) == 0bv8); - free requires (memory_load8_le(mem, 2224bv64) == 24bv8); - free requires (memory_load8_le(mem, 2225bv64) == 0bv8); - free requires (memory_load8_le(mem, 2226bv64) == 0bv8); - free requires (memory_load8_le(mem, 2227bv64) == 0bv8); - free requires (memory_load8_le(mem, 2228bv64) == 32bv8); - free requires (memory_load8_le(mem, 2229bv64) == 0bv8); - free requires (memory_load8_le(mem, 2230bv64) == 0bv8); - free requires (memory_load8_le(mem, 2231bv64) == 0bv8); - free requires (memory_load8_le(mem, 2232bv64) == 40bv8); - free requires (memory_load8_le(mem, 2233bv64) == 0bv8); - free requires (memory_load8_le(mem, 2234bv64) == 0bv8); - free requires (memory_load8_le(mem, 2235bv64) == 0bv8); - free requires (memory_load8_le(mem, 2236bv64) == 52bv8); - free requires (memory_load8_le(mem, 2237bv64) == 0bv8); - free requires (memory_load8_le(mem, 2238bv64) == 0bv8); - free requires (memory_load8_le(mem, 2239bv64) == 0bv8); - free requires (memory_load8_le(mem, 2240bv64) == 60bv8); - free requires (memory_load8_le(mem, 2241bv64) == 0bv8); - free requires (memory_load8_le(mem, 2242bv64) == 0bv8); - free requires (memory_load8_le(mem, 2243bv64) == 0bv8); - free requires (memory_load8_le(mem, 2244bv64) == 72bv8); - free requires (memory_load8_le(mem, 2245bv64) == 0bv8); - free requires (memory_load8_le(mem, 2246bv64) == 0bv8); - free requires (memory_load8_le(mem, 2247bv64) == 0bv8); - free requires (memory_load8_le(mem, 2248bv64) == 80bv8); - free requires (memory_load8_le(mem, 2249bv64) == 0bv8); - free requires (memory_load8_le(mem, 2250bv64) == 0bv8); - free requires (memory_load8_le(mem, 2251bv64) == 0bv8); - free requires (memory_load8_le(mem, 2252bv64) == 88bv8); - free requires (memory_load8_le(mem, 2253bv64) == 0bv8); - free requires (memory_load8_le(mem, 2254bv64) == 0bv8); - free requires (memory_load8_le(mem, 2255bv64) == 0bv8); - free requires (memory_load8_le(mem, 2256bv64) == 100bv8); - free requires (memory_load8_le(mem, 2257bv64) == 0bv8); - free requires (memory_load8_le(mem, 2258bv64) == 0bv8); - free requires (memory_load8_le(mem, 2259bv64) == 0bv8); - free requires (memory_load8_le(mem, 2260bv64) == 112bv8); - free requires (memory_load8_le(mem, 2261bv64) == 0bv8); - free requires (memory_load8_le(mem, 2262bv64) == 0bv8); - free requires (memory_load8_le(mem, 2263bv64) == 0bv8); - free requires (memory_load8_le(mem, 2264bv64) == 128bv8); - free requires (memory_load8_le(mem, 2265bv64) == 0bv8); - free requires (memory_load8_le(mem, 2266bv64) == 0bv8); - free requires (memory_load8_le(mem, 2267bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 13bv8); - free requires (memory_load8_le(mem, 69554bv64) == 1bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 0bv8); - free requires (memory_load8_le(mem, 69561bv64) == 0bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 48bv8); - free requires (memory_load8_le(mem, 69577bv64) == 16bv8); - free requires (memory_load8_le(mem, 69578bv64) == 1bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 156bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 40bv8); - free requires (memory_load8_le(mem, 69673bv64) == 16bv8); - free requires (memory_load8_le(mem, 69674bv64) == 1bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free requires (memory_load8_le(mem, 69680bv64) == 5bv8); - free requires (memory_load8_le(mem, 69681bv64) == 0bv8); - free requires (memory_load8_le(mem, 69682bv64) == 0bv8); - free requires (memory_load8_le(mem, 69683bv64) == 0bv8); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); -{ - var #5: bv64; - var #6: bv32; - var #7: bv64; - var #8: bv64; - var CF: bv1; - var Gamma_#5: bool; - var Gamma_#6: bool; - var Gamma_#7: bool; - var Gamma_#8: bool; - var Gamma_CF: bool; - var Gamma_NF: bool; - var Gamma_VF: bool; - var Gamma_ZF: bool; - var NF: bv1; - var VF: bv1; - var ZF: bv1; - lmain: - R31, Gamma_R31 := bvadd64(R31, 18446744073709551568bv64), Gamma_R31; - #5, Gamma_#5 := bvadd64(R31, 32bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #5, R29), gamma_store64(Gamma_stack, #5, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#5, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#5, 8bv64), Gamma_R30); - R29, Gamma_R29 := bvadd64(R31, 32bv64), Gamma_R31; - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551612bv64), 0bv32), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551612bv64), true); - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551608bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551608bv64), Gamma_R0); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R1), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R1); - R8, Gamma_R8 := zero_extend32_32(memory_load32_le(stack, bvadd64(R29, 18446744073709551608bv64))), gamma_load32(Gamma_stack, bvadd64(R29, 18446744073709551608bv64)); - #6, Gamma_#6 := bvadd32(R8[32:0], 4294967295bv32), Gamma_R8; - VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#6, 1bv32)), bvadd33(sign_extend1_32(R8[32:0]), 0bv33))), (Gamma_R8 && Gamma_#6); - CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#6, 1bv32)), bvadd33(zero_extend1_32(R8[32:0]), 4294967296bv33))), (Gamma_R8 && Gamma_#6); - ZF, Gamma_ZF := bvcomp32(bvadd32(#6, 1bv32), 0bv32), Gamma_#6; - NF, Gamma_NF := bvadd32(#6, 1bv32)[32:31], Gamma_#6; - R8, Gamma_R8 := zero_extend32_32(bvadd32(#6, 1bv32)), Gamma_#6; - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 8bv64), R8), gamma_store64(Gamma_stack, bvadd64(R31, 8bv64), Gamma_R8); - #7, Gamma_#7 := bvadd64(R8, 18446744073709551604bv64), Gamma_R8; - VF, Gamma_VF := bvnot1(bvcomp65(sign_extend1_64(bvadd64(#7, 1bv64)), bvadd65(sign_extend1_64(R8), 36893488147419103221bv65))), (Gamma_R8 && Gamma_#7); - CF, Gamma_CF := bvnot1(bvcomp65(zero_extend1_64(bvadd64(#7, 1bv64)), bvadd65(zero_extend1_64(R8), 18446744073709551605bv65))), (Gamma_R8 && Gamma_#7); - ZF, Gamma_ZF := bvcomp64(bvadd64(#7, 1bv64), 0bv64), Gamma_#7; - NF, Gamma_NF := bvadd64(#7, 1bv64)[64:63], Gamma_#7; - R8, Gamma_R8 := bvadd64(#7, 1bv64), Gamma_#7; - assert (Gamma_ZF && Gamma_CF); - if ((bvnot1(bvand1(bvcomp1(CF, 1bv1), bvcomp1(ZF, 0bv1))) != 0bv1)) { - goto l000004f2; - } - goto l000004f5; - l000004f5: - R8, Gamma_R8 := 1bv64, true; - goto l000004f8; - l000004f2: - R8, Gamma_R8 := 0bv64, true; - goto l000004f8; - l000004f8: - assert Gamma_R8; - if ((bvcomp1(R8[1:0], 1bv1) != 0bv1)) { - goto l00000500; - } - goto l00000557; - l00000500: - R8, Gamma_R8 := 1bv64, true; - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551612bv64), R8[32:0]), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551612bv64), Gamma_R8); - goto l00000513; - l00000513: - R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R29, 18446744073709551612bv64))), gamma_load32(Gamma_stack, bvadd64(R29, 18446744073709551612bv64)); - #8, Gamma_#8 := bvadd64(R31, 32bv64), Gamma_R31; - R29, Gamma_R29 := memory_load64_le(stack, #8), gamma_load64(Gamma_stack, #8); - R30, Gamma_R30 := memory_load64_le(stack, bvadd64(#8, 8bv64)), gamma_load64(Gamma_stack, bvadd64(#8, 8bv64)); - R31, Gamma_R31 := bvadd64(R31, 48bv64), Gamma_R31; - return; - l00000557: - R11, Gamma_R11 := memory_load64_le(stack, bvadd64(R31, 8bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 8bv64)); - R10, Gamma_R10 := 0bv64, true; - R10, Gamma_R10 := bvadd64(R10, 2220bv64), Gamma_R10; - R8, Gamma_R8 := 2008bv64, true; - R9, Gamma_R9 := sign_extend32_32(memory_load32_le(mem, bvadd64(R10, (R11[62:0] ++ 0bv2)))), (gamma_load32(Gamma_mem, bvadd64(R10, (R11[62:0] ++ 0bv2))) || L(mem, bvadd64(R10, (R11[62:0] ++ 0bv2)))); - R8, Gamma_R8 := bvadd64(R8, R9), (Gamma_R9 && Gamma_R8); - //UNRESOLVED: call R8 - assume false; - //no return target - assume false; -} diff --git a/src/test/correct/jumptable3/gcc/jumptable3.expected b/src/test/correct/jumptable3/gcc/jumptable3.expected index d3a74812b..af478e9b2 100644 --- a/src/test/correct/jumptable3/gcc/jumptable3.expected +++ b/src/test/correct/jumptable3/gcc/jumptable3.expected @@ -65,9 +65,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2356bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -85,6 +120,78 @@ procedure guarantee_reflexive(); procedure add_six() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; + free requires (memory_load8_le(mem, 2356bv64) == 1bv8); + free requires (memory_load8_le(mem, 2357bv64) == 0bv8); + free requires (memory_load8_le(mem, 2358bv64) == 2bv8); + free requires (memory_load8_le(mem, 2359bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 128bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { ladd_six: R0, Gamma_R0 := 69632bv64, true; @@ -101,6 +208,78 @@ procedure add_six() procedure add_two() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; + free requires (memory_load8_le(mem, 2356bv64) == 1bv8); + free requires (memory_load8_le(mem, 2357bv64) == 0bv8); + free requires (memory_load8_le(mem, 2358bv64) == 2bv8); + free requires (memory_load8_le(mem, 2359bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 128bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { ladd_two: R0, Gamma_R0 := 69632bv64, true; @@ -118,114 +297,6 @@ procedure add_two() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, mem, stack; requires (Gamma_R0 == true); - free requires (memory_load8_le(mem, 2356bv64) == 1bv8); - free requires (memory_load8_le(mem, 2357bv64) == 0bv8); - free requires (memory_load8_le(mem, 2358bv64) == 2bv8); - free requires (memory_load8_le(mem, 2359bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 128bv8); - free requires (memory_load8_le(mem, 69617bv64) == 7bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -246,10 +317,82 @@ procedure main() free requires (memory_load8_le(mem, 69649bv64) == 0bv8); free requires (memory_load8_le(mem, 69650bv64) == 0bv8); free requires (memory_load8_le(mem, 69651bv64) == 0bv8); + free requires (memory_load8_le(mem, 2356bv64) == 1bv8); + free requires (memory_load8_le(mem, 2357bv64) == 0bv8); + free requires (memory_load8_le(mem, 2358bv64) == 2bv8); + free requires (memory_load8_le(mem, 2359bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 128bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2356bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #10: bv32; var #11: bv32; @@ -685,6 +828,78 @@ procedure main() procedure sub_seven() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; + free requires (memory_load8_le(mem, 2356bv64) == 1bv8); + free requires (memory_load8_le(mem, 2357bv64) == 0bv8); + free requires (memory_load8_le(mem, 2358bv64) == 2bv8); + free requires (memory_load8_le(mem, 2359bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 128bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lsub_seven: R0, Gamma_R0 := 69632bv64, true; diff --git a/src/test/correct/jumptable3/gcc_O2/jumptable3.expected b/src/test/correct/jumptable3/gcc_O2/jumptable3.expected index 0f7b4935a..39aba5028 100644 --- a/src/test/correct/jumptable3/gcc_O2/jumptable3.expected +++ b/src/test/correct/jumptable3/gcc_O2/jumptable3.expected @@ -41,9 +41,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2232bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -62,114 +97,6 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; requires (Gamma_R0 == true); - free requires (memory_load8_le(mem, 2232bv64) == 1bv8); - free requires (memory_load8_le(mem, 2233bv64) == 0bv8); - free requires (memory_load8_le(mem, 2234bv64) == 2bv8); - free requires (memory_load8_le(mem, 2235bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 0bv8); - free requires (memory_load8_le(mem, 69617bv64) == 6bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -190,6 +117,78 @@ procedure main() free requires (memory_load8_le(mem, 69649bv64) == 0bv8); free requires (memory_load8_le(mem, 69650bv64) == 0bv8); free requires (memory_load8_le(mem, 69651bv64) == 0bv8); + free requires (memory_load8_le(mem, 2232bv64) == 1bv8); + free requires (memory_load8_le(mem, 2233bv64) == 0bv8); + free requires (memory_load8_le(mem, 2234bv64) == 2bv8); + free requires (memory_load8_le(mem, 2235bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 80bv8); + free requires (memory_load8_le(mem, 69017bv64) == 8bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 0bv8); + free requires (memory_load8_le(mem, 69025bv64) == 8bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 0bv8); + free requires (memory_load8_le(mem, 69617bv64) == 6bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #1: bv32; var #10: bv32; diff --git a/src/test/correct/jumptable3/gcc_no_plt_no_pic/jumptable3.expected b/src/test/correct/jumptable3/gcc_no_plt_no_pic/jumptable3.expected index 1b92b7236..ff3376a22 100644 --- a/src/test/correct/jumptable3/gcc_no_plt_no_pic/jumptable3.expected +++ b/src/test/correct/jumptable3/gcc_no_plt_no_pic/jumptable3.expected @@ -65,9 +65,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2356bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -85,6 +120,78 @@ procedure guarantee_reflexive(); procedure add_six() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; + free requires (memory_load8_le(mem, 2356bv64) == 1bv8); + free requires (memory_load8_le(mem, 2357bv64) == 0bv8); + free requires (memory_load8_le(mem, 2358bv64) == 2bv8); + free requires (memory_load8_le(mem, 2359bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 128bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { ladd_six: R0, Gamma_R0 := 69632bv64, true; @@ -101,6 +208,78 @@ procedure add_six() procedure add_two() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; + free requires (memory_load8_le(mem, 2356bv64) == 1bv8); + free requires (memory_load8_le(mem, 2357bv64) == 0bv8); + free requires (memory_load8_le(mem, 2358bv64) == 2bv8); + free requires (memory_load8_le(mem, 2359bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 128bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { ladd_two: R0, Gamma_R0 := 69632bv64, true; @@ -118,114 +297,6 @@ procedure add_two() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, mem, stack; requires (Gamma_R0 == true); - free requires (memory_load8_le(mem, 2356bv64) == 1bv8); - free requires (memory_load8_le(mem, 2357bv64) == 0bv8); - free requires (memory_load8_le(mem, 2358bv64) == 2bv8); - free requires (memory_load8_le(mem, 2359bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 128bv8); - free requires (memory_load8_le(mem, 69617bv64) == 7bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -246,10 +317,82 @@ procedure main() free requires (memory_load8_le(mem, 69649bv64) == 0bv8); free requires (memory_load8_le(mem, 69650bv64) == 0bv8); free requires (memory_load8_le(mem, 69651bv64) == 0bv8); + free requires (memory_load8_le(mem, 2356bv64) == 1bv8); + free requires (memory_load8_le(mem, 2357bv64) == 0bv8); + free requires (memory_load8_le(mem, 2358bv64) == 2bv8); + free requires (memory_load8_le(mem, 2359bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 128bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2356bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #10: bv32; var #11: bv32; @@ -685,6 +828,78 @@ procedure main() procedure sub_seven() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; + free requires (memory_load8_le(mem, 2356bv64) == 1bv8); + free requires (memory_load8_le(mem, 2357bv64) == 0bv8); + free requires (memory_load8_le(mem, 2358bv64) == 2bv8); + free requires (memory_load8_le(mem, 2359bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 128bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lsub_seven: R0, Gamma_R0 := 69632bv64, true; diff --git a/src/test/correct/jumptable3/gcc_pic/jumptable3.expected b/src/test/correct/jumptable3/gcc_pic/jumptable3.expected index 2a34ae439..83088529f 100644 --- a/src/test/correct/jumptable3/gcc_pic/jumptable3.expected +++ b/src/test/correct/jumptable3/gcc_pic/jumptable3.expected @@ -65,9 +65,52 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2420bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2421bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2422bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2423bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69600bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69601bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69602bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69603bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69604bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69605bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69606bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69607bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -85,6 +128,94 @@ procedure guarantee_reflexive(); procedure add_six() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; + free requires (memory_load8_le(mem, 2420bv64) == 1bv8); + free requires (memory_load8_le(mem, 2421bv64) == 0bv8); + free requires (memory_load8_le(mem, 2422bv64) == 2bv8); + free requires (memory_load8_le(mem, 2423bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 192bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 0bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69600bv64) == 16bv8); + free requires (memory_load8_le(mem, 69601bv64) == 16bv8); + free requires (memory_load8_le(mem, 69602bv64) == 1bv8); + free requires (memory_load8_le(mem, 69603bv64) == 0bv8); + free requires (memory_load8_le(mem, 69604bv64) == 0bv8); + free requires (memory_load8_le(mem, 69605bv64) == 0bv8); + free requires (memory_load8_le(mem, 69606bv64) == 0bv8); + free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 80bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2420bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2421bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2422bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2423bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69600bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69601bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69602bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69603bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69604bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69605bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69606bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69607bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); { ladd_six: R0, Gamma_R0 := 65536bv64, true; @@ -101,6 +232,94 @@ procedure add_six() procedure add_two() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; + free requires (memory_load8_le(mem, 2420bv64) == 1bv8); + free requires (memory_load8_le(mem, 2421bv64) == 0bv8); + free requires (memory_load8_le(mem, 2422bv64) == 2bv8); + free requires (memory_load8_le(mem, 2423bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 192bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 0bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69600bv64) == 16bv8); + free requires (memory_load8_le(mem, 69601bv64) == 16bv8); + free requires (memory_load8_le(mem, 69602bv64) == 1bv8); + free requires (memory_load8_le(mem, 69603bv64) == 0bv8); + free requires (memory_load8_le(mem, 69604bv64) == 0bv8); + free requires (memory_load8_le(mem, 69605bv64) == 0bv8); + free requires (memory_load8_le(mem, 69606bv64) == 0bv8); + free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 80bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2420bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2421bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2422bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2423bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69600bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69601bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69602bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69603bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69604bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69605bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69606bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69607bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); { ladd_two: R0, Gamma_R0 := 65536bv64, true; @@ -118,122 +337,6 @@ procedure add_two() procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, mem, stack; requires (Gamma_R0 == true); - free requires (memory_load8_le(mem, 2420bv64) == 1bv8); - free requires (memory_load8_le(mem, 2421bv64) == 0bv8); - free requires (memory_load8_le(mem, 2422bv64) == 2bv8); - free requires (memory_load8_le(mem, 2423bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 176bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 176bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 176bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 176bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 13bv8); - free requires (memory_load8_le(mem, 69578bv64) == 1bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 16bv8); - free requires (memory_load8_le(mem, 69601bv64) == 16bv8); - free requires (memory_load8_le(mem, 69602bv64) == 1bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 192bv8); - free requires (memory_load8_le(mem, 69617bv64) == 7bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -254,10 +357,98 @@ procedure main() free requires (memory_load8_le(mem, 69649bv64) == 0bv8); free requires (memory_load8_le(mem, 69650bv64) == 0bv8); free requires (memory_load8_le(mem, 69651bv64) == 0bv8); + free requires (memory_load8_le(mem, 2420bv64) == 1bv8); + free requires (memory_load8_le(mem, 2421bv64) == 0bv8); + free requires (memory_load8_le(mem, 2422bv64) == 2bv8); + free requires (memory_load8_le(mem, 2423bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 192bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 0bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69600bv64) == 16bv8); + free requires (memory_load8_le(mem, 69601bv64) == 16bv8); + free requires (memory_load8_le(mem, 69602bv64) == 1bv8); + free requires (memory_load8_le(mem, 69603bv64) == 0bv8); + free requires (memory_load8_le(mem, 69604bv64) == 0bv8); + free requires (memory_load8_le(mem, 69605bv64) == 0bv8); + free requires (memory_load8_le(mem, 69606bv64) == 0bv8); + free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 80bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2420bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2421bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2422bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2423bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69600bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69601bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69602bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69603bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69604bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69605bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69606bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69607bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); { var #10: bv32; var #11: bv32; @@ -693,6 +884,94 @@ procedure main() procedure sub_seven() modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; + free requires (memory_load8_le(mem, 2420bv64) == 1bv8); + free requires (memory_load8_le(mem, 2421bv64) == 0bv8); + free requires (memory_load8_le(mem, 2422bv64) == 2bv8); + free requires (memory_load8_le(mem, 2423bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 192bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 0bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69600bv64) == 16bv8); + free requires (memory_load8_le(mem, 69601bv64) == 16bv8); + free requires (memory_load8_le(mem, 69602bv64) == 1bv8); + free requires (memory_load8_le(mem, 69603bv64) == 0bv8); + free requires (memory_load8_le(mem, 69604bv64) == 0bv8); + free requires (memory_load8_le(mem, 69605bv64) == 0bv8); + free requires (memory_load8_le(mem, 69606bv64) == 0bv8); + free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 80bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2420bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2421bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2422bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2423bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69600bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69601bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69602bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69603bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69604bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69605bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69606bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69607bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); { lsub_seven: R0, Gamma_R0 := 65536bv64, true; diff --git a/src/test/correct/malloc_with_local/clang/malloc_with_local.expected b/src/test/correct/malloc_with_local/clang/malloc_with_local.expected index a6e6bb79a..1d9ee0db5 100644 --- a/src/test/correct/malloc_with_local/clang/malloc_with_local.expected +++ b/src/test/correct/malloc_with_local/clang/malloc_with_local.expected @@ -79,9 +79,104 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2256bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -99,9 +194,6 @@ procedure guarantee_reflexive(); procedure #free(); modifies Gamma_R16, Gamma_R17, R16, R17; - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 2256bv64) == 1bv8); free requires (memory_load8_le(mem, 2257bv64) == 0bv8); free requires (memory_load8_le(mem, 2258bv64) == 2bv8); @@ -166,38 +258,22 @@ procedure main() free requires (memory_load8_le(mem, 2317bv64) == 100bv8); free requires (memory_load8_le(mem, 2318bv64) == 10bv8); free requires (memory_load8_le(mem, 2319bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 8bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -206,14 +282,113 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 69688bv64) == 0bv8); free requires (memory_load8_le(mem, 69689bv64) == 0bv8); free requires (memory_load8_le(mem, 69690bv64) == 0bv8); @@ -230,10 +405,202 @@ procedure main() free requires (memory_load8_le(mem, 69701bv64) == 0bv8); free requires (memory_load8_le(mem, 69702bv64) == 0bv8); free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free requires (memory_load8_le(mem, 2256bv64) == 1bv8); + free requires (memory_load8_le(mem, 2257bv64) == 0bv8); + free requires (memory_load8_le(mem, 2258bv64) == 2bv8); + free requires (memory_load8_le(mem, 2259bv64) == 0bv8); + free requires (memory_load8_le(mem, 2260bv64) == 84bv8); + free requires (memory_load8_le(mem, 2261bv64) == 104bv8); + free requires (memory_load8_le(mem, 2262bv64) == 101bv8); + free requires (memory_load8_le(mem, 2263bv64) == 32bv8); + free requires (memory_load8_le(mem, 2264bv64) == 99bv8); + free requires (memory_load8_le(mem, 2265bv64) == 104bv8); + free requires (memory_load8_le(mem, 2266bv64) == 97bv8); + free requires (memory_load8_le(mem, 2267bv64) == 114bv8); + free requires (memory_load8_le(mem, 2268bv64) == 32bv8); + free requires (memory_load8_le(mem, 2269bv64) == 105bv8); + free requires (memory_load8_le(mem, 2270bv64) == 115bv8); + free requires (memory_load8_le(mem, 2271bv64) == 58bv8); + free requires (memory_load8_le(mem, 2272bv64) == 32bv8); + free requires (memory_load8_le(mem, 2273bv64) == 37bv8); + free requires (memory_load8_le(mem, 2274bv64) == 99bv8); + free requires (memory_load8_le(mem, 2275bv64) == 10bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 84bv8); + free requires (memory_load8_le(mem, 2278bv64) == 104bv8); + free requires (memory_load8_le(mem, 2279bv64) == 101bv8); + free requires (memory_load8_le(mem, 2280bv64) == 32bv8); + free requires (memory_load8_le(mem, 2281bv64) == 105bv8); + free requires (memory_load8_le(mem, 2282bv64) == 110bv8); + free requires (memory_load8_le(mem, 2283bv64) == 116bv8); + free requires (memory_load8_le(mem, 2284bv64) == 32bv8); + free requires (memory_load8_le(mem, 2285bv64) == 105bv8); + free requires (memory_load8_le(mem, 2286bv64) == 115bv8); + free requires (memory_load8_le(mem, 2287bv64) == 58bv8); + free requires (memory_load8_le(mem, 2288bv64) == 32bv8); + free requires (memory_load8_le(mem, 2289bv64) == 37bv8); + free requires (memory_load8_le(mem, 2290bv64) == 100bv8); + free requires (memory_load8_le(mem, 2291bv64) == 10bv8); + free requires (memory_load8_le(mem, 2292bv64) == 0bv8); + free requires (memory_load8_le(mem, 2293bv64) == 84bv8); + free requires (memory_load8_le(mem, 2294bv64) == 104bv8); + free requires (memory_load8_le(mem, 2295bv64) == 101bv8); + free requires (memory_load8_le(mem, 2296bv64) == 32bv8); + free requires (memory_load8_le(mem, 2297bv64) == 108bv8); + free requires (memory_load8_le(mem, 2298bv64) == 111bv8); + free requires (memory_load8_le(mem, 2299bv64) == 99bv8); + free requires (memory_load8_le(mem, 2300bv64) == 97bv8); + free requires (memory_load8_le(mem, 2301bv64) == 108bv8); + free requires (memory_load8_le(mem, 2302bv64) == 32bv8); + free requires (memory_load8_le(mem, 2303bv64) == 118bv8); + free requires (memory_load8_le(mem, 2304bv64) == 97bv8); + free requires (memory_load8_le(mem, 2305bv64) == 114bv8); + free requires (memory_load8_le(mem, 2306bv64) == 105bv8); + free requires (memory_load8_le(mem, 2307bv64) == 97bv8); + free requires (memory_load8_le(mem, 2308bv64) == 98bv8); + free requires (memory_load8_le(mem, 2309bv64) == 108bv8); + free requires (memory_load8_le(mem, 2310bv64) == 101bv8); + free requires (memory_load8_le(mem, 2311bv64) == 32bv8); + free requires (memory_load8_le(mem, 2312bv64) == 105bv8); + free requires (memory_load8_le(mem, 2313bv64) == 115bv8); + free requires (memory_load8_le(mem, 2314bv64) == 58bv8); + free requires (memory_load8_le(mem, 2315bv64) == 32bv8); + free requires (memory_load8_le(mem, 2316bv64) == 37bv8); + free requires (memory_load8_le(mem, 2317bv64) == 100bv8); + free requires (memory_load8_le(mem, 2318bv64) == 10bv8); + free requires (memory_load8_le(mem, 2319bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2256bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); { var #4: bv64; var #5: bv64; @@ -315,6 +682,390 @@ procedure main() procedure malloc(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2256bv64) == 1bv8); + free requires (memory_load8_le(mem, 2257bv64) == 0bv8); + free requires (memory_load8_le(mem, 2258bv64) == 2bv8); + free requires (memory_load8_le(mem, 2259bv64) == 0bv8); + free requires (memory_load8_le(mem, 2260bv64) == 84bv8); + free requires (memory_load8_le(mem, 2261bv64) == 104bv8); + free requires (memory_load8_le(mem, 2262bv64) == 101bv8); + free requires (memory_load8_le(mem, 2263bv64) == 32bv8); + free requires (memory_load8_le(mem, 2264bv64) == 99bv8); + free requires (memory_load8_le(mem, 2265bv64) == 104bv8); + free requires (memory_load8_le(mem, 2266bv64) == 97bv8); + free requires (memory_load8_le(mem, 2267bv64) == 114bv8); + free requires (memory_load8_le(mem, 2268bv64) == 32bv8); + free requires (memory_load8_le(mem, 2269bv64) == 105bv8); + free requires (memory_load8_le(mem, 2270bv64) == 115bv8); + free requires (memory_load8_le(mem, 2271bv64) == 58bv8); + free requires (memory_load8_le(mem, 2272bv64) == 32bv8); + free requires (memory_load8_le(mem, 2273bv64) == 37bv8); + free requires (memory_load8_le(mem, 2274bv64) == 99bv8); + free requires (memory_load8_le(mem, 2275bv64) == 10bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 84bv8); + free requires (memory_load8_le(mem, 2278bv64) == 104bv8); + free requires (memory_load8_le(mem, 2279bv64) == 101bv8); + free requires (memory_load8_le(mem, 2280bv64) == 32bv8); + free requires (memory_load8_le(mem, 2281bv64) == 105bv8); + free requires (memory_load8_le(mem, 2282bv64) == 110bv8); + free requires (memory_load8_le(mem, 2283bv64) == 116bv8); + free requires (memory_load8_le(mem, 2284bv64) == 32bv8); + free requires (memory_load8_le(mem, 2285bv64) == 105bv8); + free requires (memory_load8_le(mem, 2286bv64) == 115bv8); + free requires (memory_load8_le(mem, 2287bv64) == 58bv8); + free requires (memory_load8_le(mem, 2288bv64) == 32bv8); + free requires (memory_load8_le(mem, 2289bv64) == 37bv8); + free requires (memory_load8_le(mem, 2290bv64) == 100bv8); + free requires (memory_load8_le(mem, 2291bv64) == 10bv8); + free requires (memory_load8_le(mem, 2292bv64) == 0bv8); + free requires (memory_load8_le(mem, 2293bv64) == 84bv8); + free requires (memory_load8_le(mem, 2294bv64) == 104bv8); + free requires (memory_load8_le(mem, 2295bv64) == 101bv8); + free requires (memory_load8_le(mem, 2296bv64) == 32bv8); + free requires (memory_load8_le(mem, 2297bv64) == 108bv8); + free requires (memory_load8_le(mem, 2298bv64) == 111bv8); + free requires (memory_load8_le(mem, 2299bv64) == 99bv8); + free requires (memory_load8_le(mem, 2300bv64) == 97bv8); + free requires (memory_load8_le(mem, 2301bv64) == 108bv8); + free requires (memory_load8_le(mem, 2302bv64) == 32bv8); + free requires (memory_load8_le(mem, 2303bv64) == 118bv8); + free requires (memory_load8_le(mem, 2304bv64) == 97bv8); + free requires (memory_load8_le(mem, 2305bv64) == 114bv8); + free requires (memory_load8_le(mem, 2306bv64) == 105bv8); + free requires (memory_load8_le(mem, 2307bv64) == 97bv8); + free requires (memory_load8_le(mem, 2308bv64) == 98bv8); + free requires (memory_load8_le(mem, 2309bv64) == 108bv8); + free requires (memory_load8_le(mem, 2310bv64) == 101bv8); + free requires (memory_load8_le(mem, 2311bv64) == 32bv8); + free requires (memory_load8_le(mem, 2312bv64) == 105bv8); + free requires (memory_load8_le(mem, 2313bv64) == 115bv8); + free requires (memory_load8_le(mem, 2314bv64) == 58bv8); + free requires (memory_load8_le(mem, 2315bv64) == 32bv8); + free requires (memory_load8_le(mem, 2316bv64) == 37bv8); + free requires (memory_load8_le(mem, 2317bv64) == 100bv8); + free requires (memory_load8_le(mem, 2318bv64) == 10bv8); + free requires (memory_load8_le(mem, 2319bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure printf(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2256bv64) == 1bv8); + free requires (memory_load8_le(mem, 2257bv64) == 0bv8); + free requires (memory_load8_le(mem, 2258bv64) == 2bv8); + free requires (memory_load8_le(mem, 2259bv64) == 0bv8); + free requires (memory_load8_le(mem, 2260bv64) == 84bv8); + free requires (memory_load8_le(mem, 2261bv64) == 104bv8); + free requires (memory_load8_le(mem, 2262bv64) == 101bv8); + free requires (memory_load8_le(mem, 2263bv64) == 32bv8); + free requires (memory_load8_le(mem, 2264bv64) == 99bv8); + free requires (memory_load8_le(mem, 2265bv64) == 104bv8); + free requires (memory_load8_le(mem, 2266bv64) == 97bv8); + free requires (memory_load8_le(mem, 2267bv64) == 114bv8); + free requires (memory_load8_le(mem, 2268bv64) == 32bv8); + free requires (memory_load8_le(mem, 2269bv64) == 105bv8); + free requires (memory_load8_le(mem, 2270bv64) == 115bv8); + free requires (memory_load8_le(mem, 2271bv64) == 58bv8); + free requires (memory_load8_le(mem, 2272bv64) == 32bv8); + free requires (memory_load8_le(mem, 2273bv64) == 37bv8); + free requires (memory_load8_le(mem, 2274bv64) == 99bv8); + free requires (memory_load8_le(mem, 2275bv64) == 10bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 84bv8); + free requires (memory_load8_le(mem, 2278bv64) == 104bv8); + free requires (memory_load8_le(mem, 2279bv64) == 101bv8); + free requires (memory_load8_le(mem, 2280bv64) == 32bv8); + free requires (memory_load8_le(mem, 2281bv64) == 105bv8); + free requires (memory_load8_le(mem, 2282bv64) == 110bv8); + free requires (memory_load8_le(mem, 2283bv64) == 116bv8); + free requires (memory_load8_le(mem, 2284bv64) == 32bv8); + free requires (memory_load8_le(mem, 2285bv64) == 105bv8); + free requires (memory_load8_le(mem, 2286bv64) == 115bv8); + free requires (memory_load8_le(mem, 2287bv64) == 58bv8); + free requires (memory_load8_le(mem, 2288bv64) == 32bv8); + free requires (memory_load8_le(mem, 2289bv64) == 37bv8); + free requires (memory_load8_le(mem, 2290bv64) == 100bv8); + free requires (memory_load8_le(mem, 2291bv64) == 10bv8); + free requires (memory_load8_le(mem, 2292bv64) == 0bv8); + free requires (memory_load8_le(mem, 2293bv64) == 84bv8); + free requires (memory_load8_le(mem, 2294bv64) == 104bv8); + free requires (memory_load8_le(mem, 2295bv64) == 101bv8); + free requires (memory_load8_le(mem, 2296bv64) == 32bv8); + free requires (memory_load8_le(mem, 2297bv64) == 108bv8); + free requires (memory_load8_le(mem, 2298bv64) == 111bv8); + free requires (memory_load8_le(mem, 2299bv64) == 99bv8); + free requires (memory_load8_le(mem, 2300bv64) == 97bv8); + free requires (memory_load8_le(mem, 2301bv64) == 108bv8); + free requires (memory_load8_le(mem, 2302bv64) == 32bv8); + free requires (memory_load8_le(mem, 2303bv64) == 118bv8); + free requires (memory_load8_le(mem, 2304bv64) == 97bv8); + free requires (memory_load8_le(mem, 2305bv64) == 114bv8); + free requires (memory_load8_le(mem, 2306bv64) == 105bv8); + free requires (memory_load8_le(mem, 2307bv64) == 97bv8); + free requires (memory_load8_le(mem, 2308bv64) == 98bv8); + free requires (memory_load8_le(mem, 2309bv64) == 108bv8); + free requires (memory_load8_le(mem, 2310bv64) == 101bv8); + free requires (memory_load8_le(mem, 2311bv64) == 32bv8); + free requires (memory_load8_le(mem, 2312bv64) == 105bv8); + free requires (memory_load8_le(mem, 2313bv64) == 115bv8); + free requires (memory_load8_le(mem, 2314bv64) == 58bv8); + free requires (memory_load8_le(mem, 2315bv64) == 32bv8); + free requires (memory_load8_le(mem, 2316bv64) == 37bv8); + free requires (memory_load8_le(mem, 2317bv64) == 100bv8); + free requires (memory_load8_le(mem, 2318bv64) == 10bv8); + free requires (memory_load8_le(mem, 2319bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); diff --git a/src/test/correct/malloc_with_local/clang_O2/malloc_with_local.expected b/src/test/correct/malloc_with_local/clang_O2/malloc_with_local.expected index c126de600..b901cac11 100644 --- a/src/test/correct/malloc_with_local/clang_O2/malloc_with_local.expected +++ b/src/test/correct/malloc_with_local/clang_O2/malloc_with_local.expected @@ -41,9 +41,104 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1964bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1965bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1966bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1967bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1968bv64) == 84bv8); + free ensures (memory_load8_le(mem, 1969bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1970bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1971bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1972bv64) == 99bv8); + free ensures (memory_load8_le(mem, 1973bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1974bv64) == 97bv8); + free ensures (memory_load8_le(mem, 1975bv64) == 114bv8); + free ensures (memory_load8_le(mem, 1976bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1977bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1978bv64) == 115bv8); + free ensures (memory_load8_le(mem, 1979bv64) == 58bv8); + free ensures (memory_load8_le(mem, 1980bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1981bv64) == 37bv8); + free ensures (memory_load8_le(mem, 1982bv64) == 99bv8); + free ensures (memory_load8_le(mem, 1983bv64) == 10bv8); + free ensures (memory_load8_le(mem, 1984bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1985bv64) == 84bv8); + free ensures (memory_load8_le(mem, 1986bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1987bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1988bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1989bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1990bv64) == 110bv8); + free ensures (memory_load8_le(mem, 1991bv64) == 116bv8); + free ensures (memory_load8_le(mem, 1992bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1993bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1994bv64) == 115bv8); + free ensures (memory_load8_le(mem, 1995bv64) == 58bv8); + free ensures (memory_load8_le(mem, 1996bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1997bv64) == 37bv8); + free ensures (memory_load8_le(mem, 1998bv64) == 100bv8); + free ensures (memory_load8_le(mem, 1999bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2000bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2001bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2002bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2003bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2004bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2005bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2006bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2007bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2008bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2009bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2010bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2011bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2012bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2013bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2014bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2015bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2016bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2017bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2018bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2019bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2020bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2021bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2022bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2023bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2024bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -61,6 +156,22 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, stack; + free requires (memory_load8_le(mem, 69672bv64) == 0bv8); + free requires (memory_load8_le(mem, 69673bv64) == 0bv8); + free requires (memory_load8_le(mem, 69674bv64) == 0bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); free requires (memory_load8_le(mem, 1964bv64) == 1bv8); free requires (memory_load8_le(mem, 1965bv64) == 0bv8); free requires (memory_load8_le(mem, 1966bv64) == 2bv8); @@ -125,38 +236,22 @@ procedure main() free requires (memory_load8_le(mem, 2025bv64) == 100bv8); free requires (memory_load8_le(mem, 2026bv64) == 10bv8); free requires (memory_load8_le(mem, 2027bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 84bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -165,22 +260,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 0bv8); - free requires (memory_load8_le(mem, 69673bv64) == 0bv8); - free requires (memory_load8_le(mem, 69674bv64) == 0bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 69680bv64) == 48bv8); free requires (memory_load8_le(mem, 69681bv64) == 16bv8); free requires (memory_load8_le(mem, 69682bv64) == 1bv8); @@ -193,6 +272,102 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1964bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1965bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1966bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1967bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1968bv64) == 84bv8); + free ensures (memory_load8_le(mem, 1969bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1970bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1971bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1972bv64) == 99bv8); + free ensures (memory_load8_le(mem, 1973bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1974bv64) == 97bv8); + free ensures (memory_load8_le(mem, 1975bv64) == 114bv8); + free ensures (memory_load8_le(mem, 1976bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1977bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1978bv64) == 115bv8); + free ensures (memory_load8_le(mem, 1979bv64) == 58bv8); + free ensures (memory_load8_le(mem, 1980bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1981bv64) == 37bv8); + free ensures (memory_load8_le(mem, 1982bv64) == 99bv8); + free ensures (memory_load8_le(mem, 1983bv64) == 10bv8); + free ensures (memory_load8_le(mem, 1984bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1985bv64) == 84bv8); + free ensures (memory_load8_le(mem, 1986bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1987bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1988bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1989bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1990bv64) == 110bv8); + free ensures (memory_load8_le(mem, 1991bv64) == 116bv8); + free ensures (memory_load8_le(mem, 1992bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1993bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1994bv64) == 115bv8); + free ensures (memory_load8_le(mem, 1995bv64) == 58bv8); + free ensures (memory_load8_le(mem, 1996bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1997bv64) == 37bv8); + free ensures (memory_load8_le(mem, 1998bv64) == 100bv8); + free ensures (memory_load8_le(mem, 1999bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2000bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2001bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2002bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2003bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2004bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2005bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2006bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2007bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2008bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2009bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2010bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2011bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2012bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2013bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2014bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2015bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2016bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2017bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2018bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2019bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2020bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2021bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2022bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2023bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2024bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -232,3 +407,195 @@ procedure main() procedure printf(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 1964bv64) == 1bv8); + free requires (memory_load8_le(mem, 1965bv64) == 0bv8); + free requires (memory_load8_le(mem, 1966bv64) == 2bv8); + free requires (memory_load8_le(mem, 1967bv64) == 0bv8); + free requires (memory_load8_le(mem, 1968bv64) == 84bv8); + free requires (memory_load8_le(mem, 1969bv64) == 104bv8); + free requires (memory_load8_le(mem, 1970bv64) == 101bv8); + free requires (memory_load8_le(mem, 1971bv64) == 32bv8); + free requires (memory_load8_le(mem, 1972bv64) == 99bv8); + free requires (memory_load8_le(mem, 1973bv64) == 104bv8); + free requires (memory_load8_le(mem, 1974bv64) == 97bv8); + free requires (memory_load8_le(mem, 1975bv64) == 114bv8); + free requires (memory_load8_le(mem, 1976bv64) == 32bv8); + free requires (memory_load8_le(mem, 1977bv64) == 105bv8); + free requires (memory_load8_le(mem, 1978bv64) == 115bv8); + free requires (memory_load8_le(mem, 1979bv64) == 58bv8); + free requires (memory_load8_le(mem, 1980bv64) == 32bv8); + free requires (memory_load8_le(mem, 1981bv64) == 37bv8); + free requires (memory_load8_le(mem, 1982bv64) == 99bv8); + free requires (memory_load8_le(mem, 1983bv64) == 10bv8); + free requires (memory_load8_le(mem, 1984bv64) == 0bv8); + free requires (memory_load8_le(mem, 1985bv64) == 84bv8); + free requires (memory_load8_le(mem, 1986bv64) == 104bv8); + free requires (memory_load8_le(mem, 1987bv64) == 101bv8); + free requires (memory_load8_le(mem, 1988bv64) == 32bv8); + free requires (memory_load8_le(mem, 1989bv64) == 105bv8); + free requires (memory_load8_le(mem, 1990bv64) == 110bv8); + free requires (memory_load8_le(mem, 1991bv64) == 116bv8); + free requires (memory_load8_le(mem, 1992bv64) == 32bv8); + free requires (memory_load8_le(mem, 1993bv64) == 105bv8); + free requires (memory_load8_le(mem, 1994bv64) == 115bv8); + free requires (memory_load8_le(mem, 1995bv64) == 58bv8); + free requires (memory_load8_le(mem, 1996bv64) == 32bv8); + free requires (memory_load8_le(mem, 1997bv64) == 37bv8); + free requires (memory_load8_le(mem, 1998bv64) == 100bv8); + free requires (memory_load8_le(mem, 1999bv64) == 10bv8); + free requires (memory_load8_le(mem, 2000bv64) == 0bv8); + free requires (memory_load8_le(mem, 2001bv64) == 84bv8); + free requires (memory_load8_le(mem, 2002bv64) == 104bv8); + free requires (memory_load8_le(mem, 2003bv64) == 101bv8); + free requires (memory_load8_le(mem, 2004bv64) == 32bv8); + free requires (memory_load8_le(mem, 2005bv64) == 108bv8); + free requires (memory_load8_le(mem, 2006bv64) == 111bv8); + free requires (memory_load8_le(mem, 2007bv64) == 99bv8); + free requires (memory_load8_le(mem, 2008bv64) == 97bv8); + free requires (memory_load8_le(mem, 2009bv64) == 108bv8); + free requires (memory_load8_le(mem, 2010bv64) == 32bv8); + free requires (memory_load8_le(mem, 2011bv64) == 118bv8); + free requires (memory_load8_le(mem, 2012bv64) == 97bv8); + free requires (memory_load8_le(mem, 2013bv64) == 114bv8); + free requires (memory_load8_le(mem, 2014bv64) == 105bv8); + free requires (memory_load8_le(mem, 2015bv64) == 97bv8); + free requires (memory_load8_le(mem, 2016bv64) == 98bv8); + free requires (memory_load8_le(mem, 2017bv64) == 108bv8); + free requires (memory_load8_le(mem, 2018bv64) == 101bv8); + free requires (memory_load8_le(mem, 2019bv64) == 32bv8); + free requires (memory_load8_le(mem, 2020bv64) == 105bv8); + free requires (memory_load8_le(mem, 2021bv64) == 115bv8); + free requires (memory_load8_le(mem, 2022bv64) == 58bv8); + free requires (memory_load8_le(mem, 2023bv64) == 32bv8); + free requires (memory_load8_le(mem, 2024bv64) == 37bv8); + free requires (memory_load8_le(mem, 2025bv64) == 100bv8); + free requires (memory_load8_le(mem, 2026bv64) == 10bv8); + free requires (memory_load8_le(mem, 2027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 84bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1964bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1965bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1966bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1967bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1968bv64) == 84bv8); + free ensures (memory_load8_le(mem, 1969bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1970bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1971bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1972bv64) == 99bv8); + free ensures (memory_load8_le(mem, 1973bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1974bv64) == 97bv8); + free ensures (memory_load8_le(mem, 1975bv64) == 114bv8); + free ensures (memory_load8_le(mem, 1976bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1977bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1978bv64) == 115bv8); + free ensures (memory_load8_le(mem, 1979bv64) == 58bv8); + free ensures (memory_load8_le(mem, 1980bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1981bv64) == 37bv8); + free ensures (memory_load8_le(mem, 1982bv64) == 99bv8); + free ensures (memory_load8_le(mem, 1983bv64) == 10bv8); + free ensures (memory_load8_le(mem, 1984bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1985bv64) == 84bv8); + free ensures (memory_load8_le(mem, 1986bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1987bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1988bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1989bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1990bv64) == 110bv8); + free ensures (memory_load8_le(mem, 1991bv64) == 116bv8); + free ensures (memory_load8_le(mem, 1992bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1993bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1994bv64) == 115bv8); + free ensures (memory_load8_le(mem, 1995bv64) == 58bv8); + free ensures (memory_load8_le(mem, 1996bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1997bv64) == 37bv8); + free ensures (memory_load8_le(mem, 1998bv64) == 100bv8); + free ensures (memory_load8_le(mem, 1999bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2000bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2001bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2002bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2003bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2004bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2005bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2006bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2007bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2008bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2009bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2010bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2011bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2012bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2013bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2014bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2015bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2016bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2017bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2018bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2019bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2020bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2021bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2022bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2023bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2024bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); diff --git a/src/test/correct/malloc_with_local/clang_no_plt_no_pic/malloc_with_local.expected b/src/test/correct/malloc_with_local/clang_no_plt_no_pic/malloc_with_local.expected index 2a2a64139..f5e2604f4 100644 --- a/src/test/correct/malloc_with_local/clang_no_plt_no_pic/malloc_with_local.expected +++ b/src/test/correct/malloc_with_local/clang_no_plt_no_pic/malloc_with_local.expected @@ -79,9 +79,104 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2256bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -99,9 +194,6 @@ procedure guarantee_reflexive(); procedure #free(); modifies Gamma_R16, Gamma_R17, R16, R17; - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 2256bv64) == 1bv8); free requires (memory_load8_le(mem, 2257bv64) == 0bv8); free requires (memory_load8_le(mem, 2258bv64) == 2bv8); @@ -166,38 +258,22 @@ procedure main() free requires (memory_load8_le(mem, 2317bv64) == 100bv8); free requires (memory_load8_le(mem, 2318bv64) == 10bv8); free requires (memory_load8_le(mem, 2319bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 8bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -206,14 +282,113 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 69688bv64) == 0bv8); free requires (memory_load8_le(mem, 69689bv64) == 0bv8); free requires (memory_load8_le(mem, 69690bv64) == 0bv8); @@ -230,10 +405,202 @@ procedure main() free requires (memory_load8_le(mem, 69701bv64) == 0bv8); free requires (memory_load8_le(mem, 69702bv64) == 0bv8); free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free requires (memory_load8_le(mem, 2256bv64) == 1bv8); + free requires (memory_load8_le(mem, 2257bv64) == 0bv8); + free requires (memory_load8_le(mem, 2258bv64) == 2bv8); + free requires (memory_load8_le(mem, 2259bv64) == 0bv8); + free requires (memory_load8_le(mem, 2260bv64) == 84bv8); + free requires (memory_load8_le(mem, 2261bv64) == 104bv8); + free requires (memory_load8_le(mem, 2262bv64) == 101bv8); + free requires (memory_load8_le(mem, 2263bv64) == 32bv8); + free requires (memory_load8_le(mem, 2264bv64) == 99bv8); + free requires (memory_load8_le(mem, 2265bv64) == 104bv8); + free requires (memory_load8_le(mem, 2266bv64) == 97bv8); + free requires (memory_load8_le(mem, 2267bv64) == 114bv8); + free requires (memory_load8_le(mem, 2268bv64) == 32bv8); + free requires (memory_load8_le(mem, 2269bv64) == 105bv8); + free requires (memory_load8_le(mem, 2270bv64) == 115bv8); + free requires (memory_load8_le(mem, 2271bv64) == 58bv8); + free requires (memory_load8_le(mem, 2272bv64) == 32bv8); + free requires (memory_load8_le(mem, 2273bv64) == 37bv8); + free requires (memory_load8_le(mem, 2274bv64) == 99bv8); + free requires (memory_load8_le(mem, 2275bv64) == 10bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 84bv8); + free requires (memory_load8_le(mem, 2278bv64) == 104bv8); + free requires (memory_load8_le(mem, 2279bv64) == 101bv8); + free requires (memory_load8_le(mem, 2280bv64) == 32bv8); + free requires (memory_load8_le(mem, 2281bv64) == 105bv8); + free requires (memory_load8_le(mem, 2282bv64) == 110bv8); + free requires (memory_load8_le(mem, 2283bv64) == 116bv8); + free requires (memory_load8_le(mem, 2284bv64) == 32bv8); + free requires (memory_load8_le(mem, 2285bv64) == 105bv8); + free requires (memory_load8_le(mem, 2286bv64) == 115bv8); + free requires (memory_load8_le(mem, 2287bv64) == 58bv8); + free requires (memory_load8_le(mem, 2288bv64) == 32bv8); + free requires (memory_load8_le(mem, 2289bv64) == 37bv8); + free requires (memory_load8_le(mem, 2290bv64) == 100bv8); + free requires (memory_load8_le(mem, 2291bv64) == 10bv8); + free requires (memory_load8_le(mem, 2292bv64) == 0bv8); + free requires (memory_load8_le(mem, 2293bv64) == 84bv8); + free requires (memory_load8_le(mem, 2294bv64) == 104bv8); + free requires (memory_load8_le(mem, 2295bv64) == 101bv8); + free requires (memory_load8_le(mem, 2296bv64) == 32bv8); + free requires (memory_load8_le(mem, 2297bv64) == 108bv8); + free requires (memory_load8_le(mem, 2298bv64) == 111bv8); + free requires (memory_load8_le(mem, 2299bv64) == 99bv8); + free requires (memory_load8_le(mem, 2300bv64) == 97bv8); + free requires (memory_load8_le(mem, 2301bv64) == 108bv8); + free requires (memory_load8_le(mem, 2302bv64) == 32bv8); + free requires (memory_load8_le(mem, 2303bv64) == 118bv8); + free requires (memory_load8_le(mem, 2304bv64) == 97bv8); + free requires (memory_load8_le(mem, 2305bv64) == 114bv8); + free requires (memory_load8_le(mem, 2306bv64) == 105bv8); + free requires (memory_load8_le(mem, 2307bv64) == 97bv8); + free requires (memory_load8_le(mem, 2308bv64) == 98bv8); + free requires (memory_load8_le(mem, 2309bv64) == 108bv8); + free requires (memory_load8_le(mem, 2310bv64) == 101bv8); + free requires (memory_load8_le(mem, 2311bv64) == 32bv8); + free requires (memory_load8_le(mem, 2312bv64) == 105bv8); + free requires (memory_load8_le(mem, 2313bv64) == 115bv8); + free requires (memory_load8_le(mem, 2314bv64) == 58bv8); + free requires (memory_load8_le(mem, 2315bv64) == 32bv8); + free requires (memory_load8_le(mem, 2316bv64) == 37bv8); + free requires (memory_load8_le(mem, 2317bv64) == 100bv8); + free requires (memory_load8_le(mem, 2318bv64) == 10bv8); + free requires (memory_load8_le(mem, 2319bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2256bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); { var #4: bv64; var #5: bv64; @@ -315,6 +682,390 @@ procedure main() procedure malloc(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2256bv64) == 1bv8); + free requires (memory_load8_le(mem, 2257bv64) == 0bv8); + free requires (memory_load8_le(mem, 2258bv64) == 2bv8); + free requires (memory_load8_le(mem, 2259bv64) == 0bv8); + free requires (memory_load8_le(mem, 2260bv64) == 84bv8); + free requires (memory_load8_le(mem, 2261bv64) == 104bv8); + free requires (memory_load8_le(mem, 2262bv64) == 101bv8); + free requires (memory_load8_le(mem, 2263bv64) == 32bv8); + free requires (memory_load8_le(mem, 2264bv64) == 99bv8); + free requires (memory_load8_le(mem, 2265bv64) == 104bv8); + free requires (memory_load8_le(mem, 2266bv64) == 97bv8); + free requires (memory_load8_le(mem, 2267bv64) == 114bv8); + free requires (memory_load8_le(mem, 2268bv64) == 32bv8); + free requires (memory_load8_le(mem, 2269bv64) == 105bv8); + free requires (memory_load8_le(mem, 2270bv64) == 115bv8); + free requires (memory_load8_le(mem, 2271bv64) == 58bv8); + free requires (memory_load8_le(mem, 2272bv64) == 32bv8); + free requires (memory_load8_le(mem, 2273bv64) == 37bv8); + free requires (memory_load8_le(mem, 2274bv64) == 99bv8); + free requires (memory_load8_le(mem, 2275bv64) == 10bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 84bv8); + free requires (memory_load8_le(mem, 2278bv64) == 104bv8); + free requires (memory_load8_le(mem, 2279bv64) == 101bv8); + free requires (memory_load8_le(mem, 2280bv64) == 32bv8); + free requires (memory_load8_le(mem, 2281bv64) == 105bv8); + free requires (memory_load8_le(mem, 2282bv64) == 110bv8); + free requires (memory_load8_le(mem, 2283bv64) == 116bv8); + free requires (memory_load8_le(mem, 2284bv64) == 32bv8); + free requires (memory_load8_le(mem, 2285bv64) == 105bv8); + free requires (memory_load8_le(mem, 2286bv64) == 115bv8); + free requires (memory_load8_le(mem, 2287bv64) == 58bv8); + free requires (memory_load8_le(mem, 2288bv64) == 32bv8); + free requires (memory_load8_le(mem, 2289bv64) == 37bv8); + free requires (memory_load8_le(mem, 2290bv64) == 100bv8); + free requires (memory_load8_le(mem, 2291bv64) == 10bv8); + free requires (memory_load8_le(mem, 2292bv64) == 0bv8); + free requires (memory_load8_le(mem, 2293bv64) == 84bv8); + free requires (memory_load8_le(mem, 2294bv64) == 104bv8); + free requires (memory_load8_le(mem, 2295bv64) == 101bv8); + free requires (memory_load8_le(mem, 2296bv64) == 32bv8); + free requires (memory_load8_le(mem, 2297bv64) == 108bv8); + free requires (memory_load8_le(mem, 2298bv64) == 111bv8); + free requires (memory_load8_le(mem, 2299bv64) == 99bv8); + free requires (memory_load8_le(mem, 2300bv64) == 97bv8); + free requires (memory_load8_le(mem, 2301bv64) == 108bv8); + free requires (memory_load8_le(mem, 2302bv64) == 32bv8); + free requires (memory_load8_le(mem, 2303bv64) == 118bv8); + free requires (memory_load8_le(mem, 2304bv64) == 97bv8); + free requires (memory_load8_le(mem, 2305bv64) == 114bv8); + free requires (memory_load8_le(mem, 2306bv64) == 105bv8); + free requires (memory_load8_le(mem, 2307bv64) == 97bv8); + free requires (memory_load8_le(mem, 2308bv64) == 98bv8); + free requires (memory_load8_le(mem, 2309bv64) == 108bv8); + free requires (memory_load8_le(mem, 2310bv64) == 101bv8); + free requires (memory_load8_le(mem, 2311bv64) == 32bv8); + free requires (memory_load8_le(mem, 2312bv64) == 105bv8); + free requires (memory_load8_le(mem, 2313bv64) == 115bv8); + free requires (memory_load8_le(mem, 2314bv64) == 58bv8); + free requires (memory_load8_le(mem, 2315bv64) == 32bv8); + free requires (memory_load8_le(mem, 2316bv64) == 37bv8); + free requires (memory_load8_le(mem, 2317bv64) == 100bv8); + free requires (memory_load8_le(mem, 2318bv64) == 10bv8); + free requires (memory_load8_le(mem, 2319bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure printf(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2256bv64) == 1bv8); + free requires (memory_load8_le(mem, 2257bv64) == 0bv8); + free requires (memory_load8_le(mem, 2258bv64) == 2bv8); + free requires (memory_load8_le(mem, 2259bv64) == 0bv8); + free requires (memory_load8_le(mem, 2260bv64) == 84bv8); + free requires (memory_load8_le(mem, 2261bv64) == 104bv8); + free requires (memory_load8_le(mem, 2262bv64) == 101bv8); + free requires (memory_load8_le(mem, 2263bv64) == 32bv8); + free requires (memory_load8_le(mem, 2264bv64) == 99bv8); + free requires (memory_load8_le(mem, 2265bv64) == 104bv8); + free requires (memory_load8_le(mem, 2266bv64) == 97bv8); + free requires (memory_load8_le(mem, 2267bv64) == 114bv8); + free requires (memory_load8_le(mem, 2268bv64) == 32bv8); + free requires (memory_load8_le(mem, 2269bv64) == 105bv8); + free requires (memory_load8_le(mem, 2270bv64) == 115bv8); + free requires (memory_load8_le(mem, 2271bv64) == 58bv8); + free requires (memory_load8_le(mem, 2272bv64) == 32bv8); + free requires (memory_load8_le(mem, 2273bv64) == 37bv8); + free requires (memory_load8_le(mem, 2274bv64) == 99bv8); + free requires (memory_load8_le(mem, 2275bv64) == 10bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 84bv8); + free requires (memory_load8_le(mem, 2278bv64) == 104bv8); + free requires (memory_load8_le(mem, 2279bv64) == 101bv8); + free requires (memory_load8_le(mem, 2280bv64) == 32bv8); + free requires (memory_load8_le(mem, 2281bv64) == 105bv8); + free requires (memory_load8_le(mem, 2282bv64) == 110bv8); + free requires (memory_load8_le(mem, 2283bv64) == 116bv8); + free requires (memory_load8_le(mem, 2284bv64) == 32bv8); + free requires (memory_load8_le(mem, 2285bv64) == 105bv8); + free requires (memory_load8_le(mem, 2286bv64) == 115bv8); + free requires (memory_load8_le(mem, 2287bv64) == 58bv8); + free requires (memory_load8_le(mem, 2288bv64) == 32bv8); + free requires (memory_load8_le(mem, 2289bv64) == 37bv8); + free requires (memory_load8_le(mem, 2290bv64) == 100bv8); + free requires (memory_load8_le(mem, 2291bv64) == 10bv8); + free requires (memory_load8_le(mem, 2292bv64) == 0bv8); + free requires (memory_load8_le(mem, 2293bv64) == 84bv8); + free requires (memory_load8_le(mem, 2294bv64) == 104bv8); + free requires (memory_load8_le(mem, 2295bv64) == 101bv8); + free requires (memory_load8_le(mem, 2296bv64) == 32bv8); + free requires (memory_load8_le(mem, 2297bv64) == 108bv8); + free requires (memory_load8_le(mem, 2298bv64) == 111bv8); + free requires (memory_load8_le(mem, 2299bv64) == 99bv8); + free requires (memory_load8_le(mem, 2300bv64) == 97bv8); + free requires (memory_load8_le(mem, 2301bv64) == 108bv8); + free requires (memory_load8_le(mem, 2302bv64) == 32bv8); + free requires (memory_load8_le(mem, 2303bv64) == 118bv8); + free requires (memory_load8_le(mem, 2304bv64) == 97bv8); + free requires (memory_load8_le(mem, 2305bv64) == 114bv8); + free requires (memory_load8_le(mem, 2306bv64) == 105bv8); + free requires (memory_load8_le(mem, 2307bv64) == 97bv8); + free requires (memory_load8_le(mem, 2308bv64) == 98bv8); + free requires (memory_load8_le(mem, 2309bv64) == 108bv8); + free requires (memory_load8_le(mem, 2310bv64) == 101bv8); + free requires (memory_load8_le(mem, 2311bv64) == 32bv8); + free requires (memory_load8_le(mem, 2312bv64) == 105bv8); + free requires (memory_load8_le(mem, 2313bv64) == 115bv8); + free requires (memory_load8_le(mem, 2314bv64) == 58bv8); + free requires (memory_load8_le(mem, 2315bv64) == 32bv8); + free requires (memory_load8_le(mem, 2316bv64) == 37bv8); + free requires (memory_load8_le(mem, 2317bv64) == 100bv8); + free requires (memory_load8_le(mem, 2318bv64) == 10bv8); + free requires (memory_load8_le(mem, 2319bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); diff --git a/src/test/correct/malloc_with_local/clang_pic/malloc_with_local.expected b/src/test/correct/malloc_with_local/clang_pic/malloc_with_local.expected index 2a2a64139..f5e2604f4 100644 --- a/src/test/correct/malloc_with_local/clang_pic/malloc_with_local.expected +++ b/src/test/correct/malloc_with_local/clang_pic/malloc_with_local.expected @@ -79,9 +79,104 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2256bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -99,9 +194,6 @@ procedure guarantee_reflexive(); procedure #free(); modifies Gamma_R16, Gamma_R17, R16, R17; - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 2256bv64) == 1bv8); free requires (memory_load8_le(mem, 2257bv64) == 0bv8); free requires (memory_load8_le(mem, 2258bv64) == 2bv8); @@ -166,38 +258,22 @@ procedure main() free requires (memory_load8_le(mem, 2317bv64) == 100bv8); free requires (memory_load8_le(mem, 2318bv64) == 10bv8); free requires (memory_load8_le(mem, 2319bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 8bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -206,14 +282,113 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 69688bv64) == 0bv8); free requires (memory_load8_le(mem, 69689bv64) == 0bv8); free requires (memory_load8_le(mem, 69690bv64) == 0bv8); @@ -230,10 +405,202 @@ procedure main() free requires (memory_load8_le(mem, 69701bv64) == 0bv8); free requires (memory_load8_le(mem, 69702bv64) == 0bv8); free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free requires (memory_load8_le(mem, 2256bv64) == 1bv8); + free requires (memory_load8_le(mem, 2257bv64) == 0bv8); + free requires (memory_load8_le(mem, 2258bv64) == 2bv8); + free requires (memory_load8_le(mem, 2259bv64) == 0bv8); + free requires (memory_load8_le(mem, 2260bv64) == 84bv8); + free requires (memory_load8_le(mem, 2261bv64) == 104bv8); + free requires (memory_load8_le(mem, 2262bv64) == 101bv8); + free requires (memory_load8_le(mem, 2263bv64) == 32bv8); + free requires (memory_load8_le(mem, 2264bv64) == 99bv8); + free requires (memory_load8_le(mem, 2265bv64) == 104bv8); + free requires (memory_load8_le(mem, 2266bv64) == 97bv8); + free requires (memory_load8_le(mem, 2267bv64) == 114bv8); + free requires (memory_load8_le(mem, 2268bv64) == 32bv8); + free requires (memory_load8_le(mem, 2269bv64) == 105bv8); + free requires (memory_load8_le(mem, 2270bv64) == 115bv8); + free requires (memory_load8_le(mem, 2271bv64) == 58bv8); + free requires (memory_load8_le(mem, 2272bv64) == 32bv8); + free requires (memory_load8_le(mem, 2273bv64) == 37bv8); + free requires (memory_load8_le(mem, 2274bv64) == 99bv8); + free requires (memory_load8_le(mem, 2275bv64) == 10bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 84bv8); + free requires (memory_load8_le(mem, 2278bv64) == 104bv8); + free requires (memory_load8_le(mem, 2279bv64) == 101bv8); + free requires (memory_load8_le(mem, 2280bv64) == 32bv8); + free requires (memory_load8_le(mem, 2281bv64) == 105bv8); + free requires (memory_load8_le(mem, 2282bv64) == 110bv8); + free requires (memory_load8_le(mem, 2283bv64) == 116bv8); + free requires (memory_load8_le(mem, 2284bv64) == 32bv8); + free requires (memory_load8_le(mem, 2285bv64) == 105bv8); + free requires (memory_load8_le(mem, 2286bv64) == 115bv8); + free requires (memory_load8_le(mem, 2287bv64) == 58bv8); + free requires (memory_load8_le(mem, 2288bv64) == 32bv8); + free requires (memory_load8_le(mem, 2289bv64) == 37bv8); + free requires (memory_load8_le(mem, 2290bv64) == 100bv8); + free requires (memory_load8_le(mem, 2291bv64) == 10bv8); + free requires (memory_load8_le(mem, 2292bv64) == 0bv8); + free requires (memory_load8_le(mem, 2293bv64) == 84bv8); + free requires (memory_load8_le(mem, 2294bv64) == 104bv8); + free requires (memory_load8_le(mem, 2295bv64) == 101bv8); + free requires (memory_load8_le(mem, 2296bv64) == 32bv8); + free requires (memory_load8_le(mem, 2297bv64) == 108bv8); + free requires (memory_load8_le(mem, 2298bv64) == 111bv8); + free requires (memory_load8_le(mem, 2299bv64) == 99bv8); + free requires (memory_load8_le(mem, 2300bv64) == 97bv8); + free requires (memory_load8_le(mem, 2301bv64) == 108bv8); + free requires (memory_load8_le(mem, 2302bv64) == 32bv8); + free requires (memory_load8_le(mem, 2303bv64) == 118bv8); + free requires (memory_load8_le(mem, 2304bv64) == 97bv8); + free requires (memory_load8_le(mem, 2305bv64) == 114bv8); + free requires (memory_load8_le(mem, 2306bv64) == 105bv8); + free requires (memory_load8_le(mem, 2307bv64) == 97bv8); + free requires (memory_load8_le(mem, 2308bv64) == 98bv8); + free requires (memory_load8_le(mem, 2309bv64) == 108bv8); + free requires (memory_load8_le(mem, 2310bv64) == 101bv8); + free requires (memory_load8_le(mem, 2311bv64) == 32bv8); + free requires (memory_load8_le(mem, 2312bv64) == 105bv8); + free requires (memory_load8_le(mem, 2313bv64) == 115bv8); + free requires (memory_load8_le(mem, 2314bv64) == 58bv8); + free requires (memory_load8_le(mem, 2315bv64) == 32bv8); + free requires (memory_load8_le(mem, 2316bv64) == 37bv8); + free requires (memory_load8_le(mem, 2317bv64) == 100bv8); + free requires (memory_load8_le(mem, 2318bv64) == 10bv8); + free requires (memory_load8_le(mem, 2319bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2256bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); { var #4: bv64; var #5: bv64; @@ -315,6 +682,390 @@ procedure main() procedure malloc(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2256bv64) == 1bv8); + free requires (memory_load8_le(mem, 2257bv64) == 0bv8); + free requires (memory_load8_le(mem, 2258bv64) == 2bv8); + free requires (memory_load8_le(mem, 2259bv64) == 0bv8); + free requires (memory_load8_le(mem, 2260bv64) == 84bv8); + free requires (memory_load8_le(mem, 2261bv64) == 104bv8); + free requires (memory_load8_le(mem, 2262bv64) == 101bv8); + free requires (memory_load8_le(mem, 2263bv64) == 32bv8); + free requires (memory_load8_le(mem, 2264bv64) == 99bv8); + free requires (memory_load8_le(mem, 2265bv64) == 104bv8); + free requires (memory_load8_le(mem, 2266bv64) == 97bv8); + free requires (memory_load8_le(mem, 2267bv64) == 114bv8); + free requires (memory_load8_le(mem, 2268bv64) == 32bv8); + free requires (memory_load8_le(mem, 2269bv64) == 105bv8); + free requires (memory_load8_le(mem, 2270bv64) == 115bv8); + free requires (memory_load8_le(mem, 2271bv64) == 58bv8); + free requires (memory_load8_le(mem, 2272bv64) == 32bv8); + free requires (memory_load8_le(mem, 2273bv64) == 37bv8); + free requires (memory_load8_le(mem, 2274bv64) == 99bv8); + free requires (memory_load8_le(mem, 2275bv64) == 10bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 84bv8); + free requires (memory_load8_le(mem, 2278bv64) == 104bv8); + free requires (memory_load8_le(mem, 2279bv64) == 101bv8); + free requires (memory_load8_le(mem, 2280bv64) == 32bv8); + free requires (memory_load8_le(mem, 2281bv64) == 105bv8); + free requires (memory_load8_le(mem, 2282bv64) == 110bv8); + free requires (memory_load8_le(mem, 2283bv64) == 116bv8); + free requires (memory_load8_le(mem, 2284bv64) == 32bv8); + free requires (memory_load8_le(mem, 2285bv64) == 105bv8); + free requires (memory_load8_le(mem, 2286bv64) == 115bv8); + free requires (memory_load8_le(mem, 2287bv64) == 58bv8); + free requires (memory_load8_le(mem, 2288bv64) == 32bv8); + free requires (memory_load8_le(mem, 2289bv64) == 37bv8); + free requires (memory_load8_le(mem, 2290bv64) == 100bv8); + free requires (memory_load8_le(mem, 2291bv64) == 10bv8); + free requires (memory_load8_le(mem, 2292bv64) == 0bv8); + free requires (memory_load8_le(mem, 2293bv64) == 84bv8); + free requires (memory_load8_le(mem, 2294bv64) == 104bv8); + free requires (memory_load8_le(mem, 2295bv64) == 101bv8); + free requires (memory_load8_le(mem, 2296bv64) == 32bv8); + free requires (memory_load8_le(mem, 2297bv64) == 108bv8); + free requires (memory_load8_le(mem, 2298bv64) == 111bv8); + free requires (memory_load8_le(mem, 2299bv64) == 99bv8); + free requires (memory_load8_le(mem, 2300bv64) == 97bv8); + free requires (memory_load8_le(mem, 2301bv64) == 108bv8); + free requires (memory_load8_le(mem, 2302bv64) == 32bv8); + free requires (memory_load8_le(mem, 2303bv64) == 118bv8); + free requires (memory_load8_le(mem, 2304bv64) == 97bv8); + free requires (memory_load8_le(mem, 2305bv64) == 114bv8); + free requires (memory_load8_le(mem, 2306bv64) == 105bv8); + free requires (memory_load8_le(mem, 2307bv64) == 97bv8); + free requires (memory_load8_le(mem, 2308bv64) == 98bv8); + free requires (memory_load8_le(mem, 2309bv64) == 108bv8); + free requires (memory_load8_le(mem, 2310bv64) == 101bv8); + free requires (memory_load8_le(mem, 2311bv64) == 32bv8); + free requires (memory_load8_le(mem, 2312bv64) == 105bv8); + free requires (memory_load8_le(mem, 2313bv64) == 115bv8); + free requires (memory_load8_le(mem, 2314bv64) == 58bv8); + free requires (memory_load8_le(mem, 2315bv64) == 32bv8); + free requires (memory_load8_le(mem, 2316bv64) == 37bv8); + free requires (memory_load8_le(mem, 2317bv64) == 100bv8); + free requires (memory_load8_le(mem, 2318bv64) == 10bv8); + free requires (memory_load8_le(mem, 2319bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure printf(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2256bv64) == 1bv8); + free requires (memory_load8_le(mem, 2257bv64) == 0bv8); + free requires (memory_load8_le(mem, 2258bv64) == 2bv8); + free requires (memory_load8_le(mem, 2259bv64) == 0bv8); + free requires (memory_load8_le(mem, 2260bv64) == 84bv8); + free requires (memory_load8_le(mem, 2261bv64) == 104bv8); + free requires (memory_load8_le(mem, 2262bv64) == 101bv8); + free requires (memory_load8_le(mem, 2263bv64) == 32bv8); + free requires (memory_load8_le(mem, 2264bv64) == 99bv8); + free requires (memory_load8_le(mem, 2265bv64) == 104bv8); + free requires (memory_load8_le(mem, 2266bv64) == 97bv8); + free requires (memory_load8_le(mem, 2267bv64) == 114bv8); + free requires (memory_load8_le(mem, 2268bv64) == 32bv8); + free requires (memory_load8_le(mem, 2269bv64) == 105bv8); + free requires (memory_load8_le(mem, 2270bv64) == 115bv8); + free requires (memory_load8_le(mem, 2271bv64) == 58bv8); + free requires (memory_load8_le(mem, 2272bv64) == 32bv8); + free requires (memory_load8_le(mem, 2273bv64) == 37bv8); + free requires (memory_load8_le(mem, 2274bv64) == 99bv8); + free requires (memory_load8_le(mem, 2275bv64) == 10bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 84bv8); + free requires (memory_load8_le(mem, 2278bv64) == 104bv8); + free requires (memory_load8_le(mem, 2279bv64) == 101bv8); + free requires (memory_load8_le(mem, 2280bv64) == 32bv8); + free requires (memory_load8_le(mem, 2281bv64) == 105bv8); + free requires (memory_load8_le(mem, 2282bv64) == 110bv8); + free requires (memory_load8_le(mem, 2283bv64) == 116bv8); + free requires (memory_load8_le(mem, 2284bv64) == 32bv8); + free requires (memory_load8_le(mem, 2285bv64) == 105bv8); + free requires (memory_load8_le(mem, 2286bv64) == 115bv8); + free requires (memory_load8_le(mem, 2287bv64) == 58bv8); + free requires (memory_load8_le(mem, 2288bv64) == 32bv8); + free requires (memory_load8_le(mem, 2289bv64) == 37bv8); + free requires (memory_load8_le(mem, 2290bv64) == 100bv8); + free requires (memory_load8_le(mem, 2291bv64) == 10bv8); + free requires (memory_load8_le(mem, 2292bv64) == 0bv8); + free requires (memory_load8_le(mem, 2293bv64) == 84bv8); + free requires (memory_load8_le(mem, 2294bv64) == 104bv8); + free requires (memory_load8_le(mem, 2295bv64) == 101bv8); + free requires (memory_load8_le(mem, 2296bv64) == 32bv8); + free requires (memory_load8_le(mem, 2297bv64) == 108bv8); + free requires (memory_load8_le(mem, 2298bv64) == 111bv8); + free requires (memory_load8_le(mem, 2299bv64) == 99bv8); + free requires (memory_load8_le(mem, 2300bv64) == 97bv8); + free requires (memory_load8_le(mem, 2301bv64) == 108bv8); + free requires (memory_load8_le(mem, 2302bv64) == 32bv8); + free requires (memory_load8_le(mem, 2303bv64) == 118bv8); + free requires (memory_load8_le(mem, 2304bv64) == 97bv8); + free requires (memory_load8_le(mem, 2305bv64) == 114bv8); + free requires (memory_load8_le(mem, 2306bv64) == 105bv8); + free requires (memory_load8_le(mem, 2307bv64) == 97bv8); + free requires (memory_load8_le(mem, 2308bv64) == 98bv8); + free requires (memory_load8_le(mem, 2309bv64) == 108bv8); + free requires (memory_load8_le(mem, 2310bv64) == 101bv8); + free requires (memory_load8_le(mem, 2311bv64) == 32bv8); + free requires (memory_load8_le(mem, 2312bv64) == 105bv8); + free requires (memory_load8_le(mem, 2313bv64) == 115bv8); + free requires (memory_load8_le(mem, 2314bv64) == 58bv8); + free requires (memory_load8_le(mem, 2315bv64) == 32bv8); + free requires (memory_load8_le(mem, 2316bv64) == 37bv8); + free requires (memory_load8_le(mem, 2317bv64) == 100bv8); + free requires (memory_load8_le(mem, 2318bv64) == 10bv8); + free requires (memory_load8_le(mem, 2319bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); diff --git a/src/test/correct/malloc_with_local/gcc/malloc_with_local.expected b/src/test/correct/malloc_with_local/gcc/malloc_with_local.expected index 7aa8c91eb..0e2403e74 100644 --- a/src/test/correct/malloc_with_local/gcc/malloc_with_local.expected +++ b/src/test/correct/malloc_with_local/gcc/malloc_with_local.expected @@ -75,9 +75,115 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2248bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -95,9 +201,6 @@ procedure guarantee_reflexive(); procedure #free(); modifies Gamma_R16, Gamma_R17, R16, R17; - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 2248bv64) == 1bv8); free requires (memory_load8_le(mem, 2249bv64) == 0bv8); free requires (memory_load8_le(mem, 2250bv64) == 2bv8); @@ -173,118 +276,22 @@ procedure main() free requires (memory_load8_le(mem, 2320bv64) == 100bv8); free requires (memory_load8_le(mem, 2321bv64) == 10bv8); free requires (memory_load8_le(mem, 2322bv64) == 0bv8); - free requires (memory_load8_le(mem, 69504bv64) == 0bv8); - free requires (memory_load8_le(mem, 69505bv64) == 0bv8); - free requires (memory_load8_le(mem, 69506bv64) == 0bv8); - free requires (memory_load8_le(mem, 69507bv64) == 0bv8); - free requires (memory_load8_le(mem, 69508bv64) == 0bv8); - free requires (memory_load8_le(mem, 69509bv64) == 0bv8); - free requires (memory_load8_le(mem, 69510bv64) == 0bv8); - free requires (memory_load8_le(mem, 69511bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 64bv8); - free requires (memory_load8_le(mem, 69529bv64) == 6bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 64bv8); - free requires (memory_load8_le(mem, 69537bv64) == 6bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 64bv8); - free requires (memory_load8_le(mem, 69545bv64) == 6bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 64bv8); - free requires (memory_load8_le(mem, 69553bv64) == 6bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 64bv8); - free requires (memory_load8_le(mem, 69561bv64) == 6bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 64bv8); - free requires (memory_load8_le(mem, 69569bv64) == 6bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 64bv8); - free requires (memory_load8_le(mem, 69577bv64) == 6bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 144bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 8bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -293,14 +300,124 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -317,10 +434,224 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 2248bv64) == 1bv8); + free requires (memory_load8_le(mem, 2249bv64) == 0bv8); + free requires (memory_load8_le(mem, 2250bv64) == 2bv8); + free requires (memory_load8_le(mem, 2251bv64) == 0bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 0bv8); + free requires (memory_load8_le(mem, 2254bv64) == 0bv8); + free requires (memory_load8_le(mem, 2255bv64) == 0bv8); + free requires (memory_load8_le(mem, 2256bv64) == 84bv8); + free requires (memory_load8_le(mem, 2257bv64) == 104bv8); + free requires (memory_load8_le(mem, 2258bv64) == 101bv8); + free requires (memory_load8_le(mem, 2259bv64) == 32bv8); + free requires (memory_load8_le(mem, 2260bv64) == 99bv8); + free requires (memory_load8_le(mem, 2261bv64) == 104bv8); + free requires (memory_load8_le(mem, 2262bv64) == 97bv8); + free requires (memory_load8_le(mem, 2263bv64) == 114bv8); + free requires (memory_load8_le(mem, 2264bv64) == 32bv8); + free requires (memory_load8_le(mem, 2265bv64) == 105bv8); + free requires (memory_load8_le(mem, 2266bv64) == 115bv8); + free requires (memory_load8_le(mem, 2267bv64) == 58bv8); + free requires (memory_load8_le(mem, 2268bv64) == 32bv8); + free requires (memory_load8_le(mem, 2269bv64) == 37bv8); + free requires (memory_load8_le(mem, 2270bv64) == 99bv8); + free requires (memory_load8_le(mem, 2271bv64) == 10bv8); + free requires (memory_load8_le(mem, 2272bv64) == 0bv8); + free requires (memory_load8_le(mem, 2273bv64) == 0bv8); + free requires (memory_load8_le(mem, 2274bv64) == 0bv8); + free requires (memory_load8_le(mem, 2275bv64) == 0bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 0bv8); + free requires (memory_load8_le(mem, 2278bv64) == 0bv8); + free requires (memory_load8_le(mem, 2279bv64) == 0bv8); + free requires (memory_load8_le(mem, 2280bv64) == 84bv8); + free requires (memory_load8_le(mem, 2281bv64) == 104bv8); + free requires (memory_load8_le(mem, 2282bv64) == 101bv8); + free requires (memory_load8_le(mem, 2283bv64) == 32bv8); + free requires (memory_load8_le(mem, 2284bv64) == 105bv8); + free requires (memory_load8_le(mem, 2285bv64) == 110bv8); + free requires (memory_load8_le(mem, 2286bv64) == 116bv8); + free requires (memory_load8_le(mem, 2287bv64) == 32bv8); + free requires (memory_load8_le(mem, 2288bv64) == 105bv8); + free requires (memory_load8_le(mem, 2289bv64) == 115bv8); + free requires (memory_load8_le(mem, 2290bv64) == 58bv8); + free requires (memory_load8_le(mem, 2291bv64) == 32bv8); + free requires (memory_load8_le(mem, 2292bv64) == 37bv8); + free requires (memory_load8_le(mem, 2293bv64) == 100bv8); + free requires (memory_load8_le(mem, 2294bv64) == 10bv8); + free requires (memory_load8_le(mem, 2295bv64) == 0bv8); + free requires (memory_load8_le(mem, 2296bv64) == 84bv8); + free requires (memory_load8_le(mem, 2297bv64) == 104bv8); + free requires (memory_load8_le(mem, 2298bv64) == 101bv8); + free requires (memory_load8_le(mem, 2299bv64) == 32bv8); + free requires (memory_load8_le(mem, 2300bv64) == 108bv8); + free requires (memory_load8_le(mem, 2301bv64) == 111bv8); + free requires (memory_load8_le(mem, 2302bv64) == 99bv8); + free requires (memory_load8_le(mem, 2303bv64) == 97bv8); + free requires (memory_load8_le(mem, 2304bv64) == 108bv8); + free requires (memory_load8_le(mem, 2305bv64) == 32bv8); + free requires (memory_load8_le(mem, 2306bv64) == 118bv8); + free requires (memory_load8_le(mem, 2307bv64) == 97bv8); + free requires (memory_load8_le(mem, 2308bv64) == 114bv8); + free requires (memory_load8_le(mem, 2309bv64) == 105bv8); + free requires (memory_load8_le(mem, 2310bv64) == 97bv8); + free requires (memory_load8_le(mem, 2311bv64) == 98bv8); + free requires (memory_load8_le(mem, 2312bv64) == 108bv8); + free requires (memory_load8_le(mem, 2313bv64) == 101bv8); + free requires (memory_load8_le(mem, 2314bv64) == 32bv8); + free requires (memory_load8_le(mem, 2315bv64) == 105bv8); + free requires (memory_load8_le(mem, 2316bv64) == 115bv8); + free requires (memory_load8_le(mem, 2317bv64) == 58bv8); + free requires (memory_load8_le(mem, 2318bv64) == 32bv8); + free requires (memory_load8_le(mem, 2319bv64) == 37bv8); + free requires (memory_load8_le(mem, 2320bv64) == 100bv8); + free requires (memory_load8_le(mem, 2321bv64) == 10bv8); + free requires (memory_load8_le(mem, 2322bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2248bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -398,6 +729,434 @@ procedure main() procedure malloc(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2248bv64) == 1bv8); + free requires (memory_load8_le(mem, 2249bv64) == 0bv8); + free requires (memory_load8_le(mem, 2250bv64) == 2bv8); + free requires (memory_load8_le(mem, 2251bv64) == 0bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 0bv8); + free requires (memory_load8_le(mem, 2254bv64) == 0bv8); + free requires (memory_load8_le(mem, 2255bv64) == 0bv8); + free requires (memory_load8_le(mem, 2256bv64) == 84bv8); + free requires (memory_load8_le(mem, 2257bv64) == 104bv8); + free requires (memory_load8_le(mem, 2258bv64) == 101bv8); + free requires (memory_load8_le(mem, 2259bv64) == 32bv8); + free requires (memory_load8_le(mem, 2260bv64) == 99bv8); + free requires (memory_load8_le(mem, 2261bv64) == 104bv8); + free requires (memory_load8_le(mem, 2262bv64) == 97bv8); + free requires (memory_load8_le(mem, 2263bv64) == 114bv8); + free requires (memory_load8_le(mem, 2264bv64) == 32bv8); + free requires (memory_load8_le(mem, 2265bv64) == 105bv8); + free requires (memory_load8_le(mem, 2266bv64) == 115bv8); + free requires (memory_load8_le(mem, 2267bv64) == 58bv8); + free requires (memory_load8_le(mem, 2268bv64) == 32bv8); + free requires (memory_load8_le(mem, 2269bv64) == 37bv8); + free requires (memory_load8_le(mem, 2270bv64) == 99bv8); + free requires (memory_load8_le(mem, 2271bv64) == 10bv8); + free requires (memory_load8_le(mem, 2272bv64) == 0bv8); + free requires (memory_load8_le(mem, 2273bv64) == 0bv8); + free requires (memory_load8_le(mem, 2274bv64) == 0bv8); + free requires (memory_load8_le(mem, 2275bv64) == 0bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 0bv8); + free requires (memory_load8_le(mem, 2278bv64) == 0bv8); + free requires (memory_load8_le(mem, 2279bv64) == 0bv8); + free requires (memory_load8_le(mem, 2280bv64) == 84bv8); + free requires (memory_load8_le(mem, 2281bv64) == 104bv8); + free requires (memory_load8_le(mem, 2282bv64) == 101bv8); + free requires (memory_load8_le(mem, 2283bv64) == 32bv8); + free requires (memory_load8_le(mem, 2284bv64) == 105bv8); + free requires (memory_load8_le(mem, 2285bv64) == 110bv8); + free requires (memory_load8_le(mem, 2286bv64) == 116bv8); + free requires (memory_load8_le(mem, 2287bv64) == 32bv8); + free requires (memory_load8_le(mem, 2288bv64) == 105bv8); + free requires (memory_load8_le(mem, 2289bv64) == 115bv8); + free requires (memory_load8_le(mem, 2290bv64) == 58bv8); + free requires (memory_load8_le(mem, 2291bv64) == 32bv8); + free requires (memory_load8_le(mem, 2292bv64) == 37bv8); + free requires (memory_load8_le(mem, 2293bv64) == 100bv8); + free requires (memory_load8_le(mem, 2294bv64) == 10bv8); + free requires (memory_load8_le(mem, 2295bv64) == 0bv8); + free requires (memory_load8_le(mem, 2296bv64) == 84bv8); + free requires (memory_load8_le(mem, 2297bv64) == 104bv8); + free requires (memory_load8_le(mem, 2298bv64) == 101bv8); + free requires (memory_load8_le(mem, 2299bv64) == 32bv8); + free requires (memory_load8_le(mem, 2300bv64) == 108bv8); + free requires (memory_load8_le(mem, 2301bv64) == 111bv8); + free requires (memory_load8_le(mem, 2302bv64) == 99bv8); + free requires (memory_load8_le(mem, 2303bv64) == 97bv8); + free requires (memory_load8_le(mem, 2304bv64) == 108bv8); + free requires (memory_load8_le(mem, 2305bv64) == 32bv8); + free requires (memory_load8_le(mem, 2306bv64) == 118bv8); + free requires (memory_load8_le(mem, 2307bv64) == 97bv8); + free requires (memory_load8_le(mem, 2308bv64) == 114bv8); + free requires (memory_load8_le(mem, 2309bv64) == 105bv8); + free requires (memory_load8_le(mem, 2310bv64) == 97bv8); + free requires (memory_load8_le(mem, 2311bv64) == 98bv8); + free requires (memory_load8_le(mem, 2312bv64) == 108bv8); + free requires (memory_load8_le(mem, 2313bv64) == 101bv8); + free requires (memory_load8_le(mem, 2314bv64) == 32bv8); + free requires (memory_load8_le(mem, 2315bv64) == 105bv8); + free requires (memory_load8_le(mem, 2316bv64) == 115bv8); + free requires (memory_load8_le(mem, 2317bv64) == 58bv8); + free requires (memory_load8_le(mem, 2318bv64) == 32bv8); + free requires (memory_load8_le(mem, 2319bv64) == 37bv8); + free requires (memory_load8_le(mem, 2320bv64) == 100bv8); + free requires (memory_load8_le(mem, 2321bv64) == 10bv8); + free requires (memory_load8_le(mem, 2322bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure printf(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2248bv64) == 1bv8); + free requires (memory_load8_le(mem, 2249bv64) == 0bv8); + free requires (memory_load8_le(mem, 2250bv64) == 2bv8); + free requires (memory_load8_le(mem, 2251bv64) == 0bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 0bv8); + free requires (memory_load8_le(mem, 2254bv64) == 0bv8); + free requires (memory_load8_le(mem, 2255bv64) == 0bv8); + free requires (memory_load8_le(mem, 2256bv64) == 84bv8); + free requires (memory_load8_le(mem, 2257bv64) == 104bv8); + free requires (memory_load8_le(mem, 2258bv64) == 101bv8); + free requires (memory_load8_le(mem, 2259bv64) == 32bv8); + free requires (memory_load8_le(mem, 2260bv64) == 99bv8); + free requires (memory_load8_le(mem, 2261bv64) == 104bv8); + free requires (memory_load8_le(mem, 2262bv64) == 97bv8); + free requires (memory_load8_le(mem, 2263bv64) == 114bv8); + free requires (memory_load8_le(mem, 2264bv64) == 32bv8); + free requires (memory_load8_le(mem, 2265bv64) == 105bv8); + free requires (memory_load8_le(mem, 2266bv64) == 115bv8); + free requires (memory_load8_le(mem, 2267bv64) == 58bv8); + free requires (memory_load8_le(mem, 2268bv64) == 32bv8); + free requires (memory_load8_le(mem, 2269bv64) == 37bv8); + free requires (memory_load8_le(mem, 2270bv64) == 99bv8); + free requires (memory_load8_le(mem, 2271bv64) == 10bv8); + free requires (memory_load8_le(mem, 2272bv64) == 0bv8); + free requires (memory_load8_le(mem, 2273bv64) == 0bv8); + free requires (memory_load8_le(mem, 2274bv64) == 0bv8); + free requires (memory_load8_le(mem, 2275bv64) == 0bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 0bv8); + free requires (memory_load8_le(mem, 2278bv64) == 0bv8); + free requires (memory_load8_le(mem, 2279bv64) == 0bv8); + free requires (memory_load8_le(mem, 2280bv64) == 84bv8); + free requires (memory_load8_le(mem, 2281bv64) == 104bv8); + free requires (memory_load8_le(mem, 2282bv64) == 101bv8); + free requires (memory_load8_le(mem, 2283bv64) == 32bv8); + free requires (memory_load8_le(mem, 2284bv64) == 105bv8); + free requires (memory_load8_le(mem, 2285bv64) == 110bv8); + free requires (memory_load8_le(mem, 2286bv64) == 116bv8); + free requires (memory_load8_le(mem, 2287bv64) == 32bv8); + free requires (memory_load8_le(mem, 2288bv64) == 105bv8); + free requires (memory_load8_le(mem, 2289bv64) == 115bv8); + free requires (memory_load8_le(mem, 2290bv64) == 58bv8); + free requires (memory_load8_le(mem, 2291bv64) == 32bv8); + free requires (memory_load8_le(mem, 2292bv64) == 37bv8); + free requires (memory_load8_le(mem, 2293bv64) == 100bv8); + free requires (memory_load8_le(mem, 2294bv64) == 10bv8); + free requires (memory_load8_le(mem, 2295bv64) == 0bv8); + free requires (memory_load8_le(mem, 2296bv64) == 84bv8); + free requires (memory_load8_le(mem, 2297bv64) == 104bv8); + free requires (memory_load8_le(mem, 2298bv64) == 101bv8); + free requires (memory_load8_le(mem, 2299bv64) == 32bv8); + free requires (memory_load8_le(mem, 2300bv64) == 108bv8); + free requires (memory_load8_le(mem, 2301bv64) == 111bv8); + free requires (memory_load8_le(mem, 2302bv64) == 99bv8); + free requires (memory_load8_le(mem, 2303bv64) == 97bv8); + free requires (memory_load8_le(mem, 2304bv64) == 108bv8); + free requires (memory_load8_le(mem, 2305bv64) == 32bv8); + free requires (memory_load8_le(mem, 2306bv64) == 118bv8); + free requires (memory_load8_le(mem, 2307bv64) == 97bv8); + free requires (memory_load8_le(mem, 2308bv64) == 114bv8); + free requires (memory_load8_le(mem, 2309bv64) == 105bv8); + free requires (memory_load8_le(mem, 2310bv64) == 97bv8); + free requires (memory_load8_le(mem, 2311bv64) == 98bv8); + free requires (memory_load8_le(mem, 2312bv64) == 108bv8); + free requires (memory_load8_le(mem, 2313bv64) == 101bv8); + free requires (memory_load8_le(mem, 2314bv64) == 32bv8); + free requires (memory_load8_le(mem, 2315bv64) == 105bv8); + free requires (memory_load8_le(mem, 2316bv64) == 115bv8); + free requires (memory_load8_le(mem, 2317bv64) == 58bv8); + free requires (memory_load8_le(mem, 2318bv64) == 32bv8); + free requires (memory_load8_le(mem, 2319bv64) == 37bv8); + free requires (memory_load8_le(mem, 2320bv64) == 100bv8); + free requires (memory_load8_le(mem, 2321bv64) == 10bv8); + free requires (memory_load8_le(mem, 2322bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); diff --git a/src/test/correct/malloc_with_local/gcc_O2/malloc_with_local.expected b/src/test/correct/malloc_with_local/gcc_O2/malloc_with_local.expected index 837ae23ba..3f4c5f60f 100644 --- a/src/test/correct/malloc_with_local/gcc_O2/malloc_with_local.expected +++ b/src/test/correct/malloc_with_local/gcc_O2/malloc_with_local.expected @@ -43,9 +43,115 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2088bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2089bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2090bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2091bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2092bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2093bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2094bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2095bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2096bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2097bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2098bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2099bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2100bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2101bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2102bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2103bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2104bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2105bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2106bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2107bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2108bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2109bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2110bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2111bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2112bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2113bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2114bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2115bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2116bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2117bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2118bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2119bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2120bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2121bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2122bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2123bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2124bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2125bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2126bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2127bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2128bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2129bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2130bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2131bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2132bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2133bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2134bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2135bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2136bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2137bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2138bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2139bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2140bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2141bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2142bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2143bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2144bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2145bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2146bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2147bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2148bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2149bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2150bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2151bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2152bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2153bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2154bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2155bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2156bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2157bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2158bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2159bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2160bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2161bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2162bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -63,9 +169,6 @@ procedure guarantee_reflexive(); procedure __printf_chk(); modifies Gamma_R16, Gamma_R17, R16, R17; - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R2, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R1, R16, R17, R2, R29, R30, R31, stack; free requires (memory_load8_le(mem, 2088bv64) == 1bv8); free requires (memory_load8_le(mem, 2089bv64) == 0bv8); free requires (memory_load8_le(mem, 2090bv64) == 2bv8); @@ -141,102 +244,22 @@ procedure main() free requires (memory_load8_le(mem, 2160bv64) == 100bv8); free requires (memory_load8_le(mem, 2161bv64) == 10bv8); free requires (memory_load8_le(mem, 2162bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 224bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 224bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 224bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 224bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 224bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 160bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 16bv8); + free requires (memory_load8_le(mem, 69009bv64) == 8bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 192bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 128bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -245,14 +268,124 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2088bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2089bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2090bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2091bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2092bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2093bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2094bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2095bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2096bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2097bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2098bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2099bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2100bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2101bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2102bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2103bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2104bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2105bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2106bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2107bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2108bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2109bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2110bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2111bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2112bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2113bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2114bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2115bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2116bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2117bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2118bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2119bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2120bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2121bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2122bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2123bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2124bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2125bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2126bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2127bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2128bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2129bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2130bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2131bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2132bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2133bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2134bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2135bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2136bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2137bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2138bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2139bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2140bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2141bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2142bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2143bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2144bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2145bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2146bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2147bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2148bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2149bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2150bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2151bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2152bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2153bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2154bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2155bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2156bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2157bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2158bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2159bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2160bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2161bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2162bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R2, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R1, R16, R17, R2, R29, R30, R31, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -269,10 +402,224 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 2088bv64) == 1bv8); + free requires (memory_load8_le(mem, 2089bv64) == 0bv8); + free requires (memory_load8_le(mem, 2090bv64) == 2bv8); + free requires (memory_load8_le(mem, 2091bv64) == 0bv8); + free requires (memory_load8_le(mem, 2092bv64) == 0bv8); + free requires (memory_load8_le(mem, 2093bv64) == 0bv8); + free requires (memory_load8_le(mem, 2094bv64) == 0bv8); + free requires (memory_load8_le(mem, 2095bv64) == 0bv8); + free requires (memory_load8_le(mem, 2096bv64) == 84bv8); + free requires (memory_load8_le(mem, 2097bv64) == 104bv8); + free requires (memory_load8_le(mem, 2098bv64) == 101bv8); + free requires (memory_load8_le(mem, 2099bv64) == 32bv8); + free requires (memory_load8_le(mem, 2100bv64) == 99bv8); + free requires (memory_load8_le(mem, 2101bv64) == 104bv8); + free requires (memory_load8_le(mem, 2102bv64) == 97bv8); + free requires (memory_load8_le(mem, 2103bv64) == 114bv8); + free requires (memory_load8_le(mem, 2104bv64) == 32bv8); + free requires (memory_load8_le(mem, 2105bv64) == 105bv8); + free requires (memory_load8_le(mem, 2106bv64) == 115bv8); + free requires (memory_load8_le(mem, 2107bv64) == 58bv8); + free requires (memory_load8_le(mem, 2108bv64) == 32bv8); + free requires (memory_load8_le(mem, 2109bv64) == 37bv8); + free requires (memory_load8_le(mem, 2110bv64) == 99bv8); + free requires (memory_load8_le(mem, 2111bv64) == 10bv8); + free requires (memory_load8_le(mem, 2112bv64) == 0bv8); + free requires (memory_load8_le(mem, 2113bv64) == 0bv8); + free requires (memory_load8_le(mem, 2114bv64) == 0bv8); + free requires (memory_load8_le(mem, 2115bv64) == 0bv8); + free requires (memory_load8_le(mem, 2116bv64) == 0bv8); + free requires (memory_load8_le(mem, 2117bv64) == 0bv8); + free requires (memory_load8_le(mem, 2118bv64) == 0bv8); + free requires (memory_load8_le(mem, 2119bv64) == 0bv8); + free requires (memory_load8_le(mem, 2120bv64) == 84bv8); + free requires (memory_load8_le(mem, 2121bv64) == 104bv8); + free requires (memory_load8_le(mem, 2122bv64) == 101bv8); + free requires (memory_load8_le(mem, 2123bv64) == 32bv8); + free requires (memory_load8_le(mem, 2124bv64) == 105bv8); + free requires (memory_load8_le(mem, 2125bv64) == 110bv8); + free requires (memory_load8_le(mem, 2126bv64) == 116bv8); + free requires (memory_load8_le(mem, 2127bv64) == 32bv8); + free requires (memory_load8_le(mem, 2128bv64) == 105bv8); + free requires (memory_load8_le(mem, 2129bv64) == 115bv8); + free requires (memory_load8_le(mem, 2130bv64) == 58bv8); + free requires (memory_load8_le(mem, 2131bv64) == 32bv8); + free requires (memory_load8_le(mem, 2132bv64) == 37bv8); + free requires (memory_load8_le(mem, 2133bv64) == 100bv8); + free requires (memory_load8_le(mem, 2134bv64) == 10bv8); + free requires (memory_load8_le(mem, 2135bv64) == 0bv8); + free requires (memory_load8_le(mem, 2136bv64) == 84bv8); + free requires (memory_load8_le(mem, 2137bv64) == 104bv8); + free requires (memory_load8_le(mem, 2138bv64) == 101bv8); + free requires (memory_load8_le(mem, 2139bv64) == 32bv8); + free requires (memory_load8_le(mem, 2140bv64) == 108bv8); + free requires (memory_load8_le(mem, 2141bv64) == 111bv8); + free requires (memory_load8_le(mem, 2142bv64) == 99bv8); + free requires (memory_load8_le(mem, 2143bv64) == 97bv8); + free requires (memory_load8_le(mem, 2144bv64) == 108bv8); + free requires (memory_load8_le(mem, 2145bv64) == 32bv8); + free requires (memory_load8_le(mem, 2146bv64) == 118bv8); + free requires (memory_load8_le(mem, 2147bv64) == 97bv8); + free requires (memory_load8_le(mem, 2148bv64) == 114bv8); + free requires (memory_load8_le(mem, 2149bv64) == 105bv8); + free requires (memory_load8_le(mem, 2150bv64) == 97bv8); + free requires (memory_load8_le(mem, 2151bv64) == 98bv8); + free requires (memory_load8_le(mem, 2152bv64) == 108bv8); + free requires (memory_load8_le(mem, 2153bv64) == 101bv8); + free requires (memory_load8_le(mem, 2154bv64) == 32bv8); + free requires (memory_load8_le(mem, 2155bv64) == 105bv8); + free requires (memory_load8_le(mem, 2156bv64) == 115bv8); + free requires (memory_load8_le(mem, 2157bv64) == 58bv8); + free requires (memory_load8_le(mem, 2158bv64) == 32bv8); + free requires (memory_load8_le(mem, 2159bv64) == 37bv8); + free requires (memory_load8_le(mem, 2160bv64) == 100bv8); + free requires (memory_load8_le(mem, 2161bv64) == 10bv8); + free requires (memory_load8_le(mem, 2162bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 16bv8); + free requires (memory_load8_le(mem, 69009bv64) == 8bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 192bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 128bv8); + free requires (memory_load8_le(mem, 69617bv64) == 6bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2088bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2089bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2090bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2091bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2092bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2093bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2094bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2095bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2096bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2097bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2098bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2099bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2100bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2101bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2102bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2103bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2104bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2105bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2106bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2107bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2108bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2109bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2110bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2111bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2112bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2113bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2114bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2115bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2116bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2117bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2118bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2119bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2120bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2121bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2122bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2123bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2124bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2125bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2126bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2127bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2128bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2129bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2130bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2131bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2132bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2133bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2134bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2135bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2136bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2137bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2138bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2139bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2140bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2141bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2142bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2143bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2144bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2145bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2146bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2147bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2148bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2149bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2150bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2151bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2152bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2153bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2154bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2155bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2156bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2157bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2158bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2159bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2160bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2161bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2162bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #1: bv64; var Gamma_#1: bool; diff --git a/src/test/correct/malloc_with_local/gcc_no_plt_no_pic/malloc_with_local.expected b/src/test/correct/malloc_with_local/gcc_no_plt_no_pic/malloc_with_local.expected index ab464f48c..d836114ae 100644 --- a/src/test/correct/malloc_with_local/gcc_no_plt_no_pic/malloc_with_local.expected +++ b/src/test/correct/malloc_with_local/gcc_no_plt_no_pic/malloc_with_local.expected @@ -75,9 +75,115 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2248bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -95,9 +201,6 @@ procedure guarantee_reflexive(); procedure #free(); modifies Gamma_R16, Gamma_R17, R16, R17; - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 2248bv64) == 1bv8); free requires (memory_load8_le(mem, 2249bv64) == 0bv8); free requires (memory_load8_le(mem, 2250bv64) == 2bv8); @@ -173,118 +276,22 @@ procedure main() free requires (memory_load8_le(mem, 2320bv64) == 100bv8); free requires (memory_load8_le(mem, 2321bv64) == 10bv8); free requires (memory_load8_le(mem, 2322bv64) == 0bv8); - free requires (memory_load8_le(mem, 69504bv64) == 0bv8); - free requires (memory_load8_le(mem, 69505bv64) == 0bv8); - free requires (memory_load8_le(mem, 69506bv64) == 0bv8); - free requires (memory_load8_le(mem, 69507bv64) == 0bv8); - free requires (memory_load8_le(mem, 69508bv64) == 0bv8); - free requires (memory_load8_le(mem, 69509bv64) == 0bv8); - free requires (memory_load8_le(mem, 69510bv64) == 0bv8); - free requires (memory_load8_le(mem, 69511bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 64bv8); - free requires (memory_load8_le(mem, 69529bv64) == 6bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 64bv8); - free requires (memory_load8_le(mem, 69537bv64) == 6bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 64bv8); - free requires (memory_load8_le(mem, 69545bv64) == 6bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 64bv8); - free requires (memory_load8_le(mem, 69553bv64) == 6bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 64bv8); - free requires (memory_load8_le(mem, 69561bv64) == 6bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 64bv8); - free requires (memory_load8_le(mem, 69569bv64) == 6bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 64bv8); - free requires (memory_load8_le(mem, 69577bv64) == 6bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 144bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 8bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -293,14 +300,124 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -317,10 +434,224 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 2248bv64) == 1bv8); + free requires (memory_load8_le(mem, 2249bv64) == 0bv8); + free requires (memory_load8_le(mem, 2250bv64) == 2bv8); + free requires (memory_load8_le(mem, 2251bv64) == 0bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 0bv8); + free requires (memory_load8_le(mem, 2254bv64) == 0bv8); + free requires (memory_load8_le(mem, 2255bv64) == 0bv8); + free requires (memory_load8_le(mem, 2256bv64) == 84bv8); + free requires (memory_load8_le(mem, 2257bv64) == 104bv8); + free requires (memory_load8_le(mem, 2258bv64) == 101bv8); + free requires (memory_load8_le(mem, 2259bv64) == 32bv8); + free requires (memory_load8_le(mem, 2260bv64) == 99bv8); + free requires (memory_load8_le(mem, 2261bv64) == 104bv8); + free requires (memory_load8_le(mem, 2262bv64) == 97bv8); + free requires (memory_load8_le(mem, 2263bv64) == 114bv8); + free requires (memory_load8_le(mem, 2264bv64) == 32bv8); + free requires (memory_load8_le(mem, 2265bv64) == 105bv8); + free requires (memory_load8_le(mem, 2266bv64) == 115bv8); + free requires (memory_load8_le(mem, 2267bv64) == 58bv8); + free requires (memory_load8_le(mem, 2268bv64) == 32bv8); + free requires (memory_load8_le(mem, 2269bv64) == 37bv8); + free requires (memory_load8_le(mem, 2270bv64) == 99bv8); + free requires (memory_load8_le(mem, 2271bv64) == 10bv8); + free requires (memory_load8_le(mem, 2272bv64) == 0bv8); + free requires (memory_load8_le(mem, 2273bv64) == 0bv8); + free requires (memory_load8_le(mem, 2274bv64) == 0bv8); + free requires (memory_load8_le(mem, 2275bv64) == 0bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 0bv8); + free requires (memory_load8_le(mem, 2278bv64) == 0bv8); + free requires (memory_load8_le(mem, 2279bv64) == 0bv8); + free requires (memory_load8_le(mem, 2280bv64) == 84bv8); + free requires (memory_load8_le(mem, 2281bv64) == 104bv8); + free requires (memory_load8_le(mem, 2282bv64) == 101bv8); + free requires (memory_load8_le(mem, 2283bv64) == 32bv8); + free requires (memory_load8_le(mem, 2284bv64) == 105bv8); + free requires (memory_load8_le(mem, 2285bv64) == 110bv8); + free requires (memory_load8_le(mem, 2286bv64) == 116bv8); + free requires (memory_load8_le(mem, 2287bv64) == 32bv8); + free requires (memory_load8_le(mem, 2288bv64) == 105bv8); + free requires (memory_load8_le(mem, 2289bv64) == 115bv8); + free requires (memory_load8_le(mem, 2290bv64) == 58bv8); + free requires (memory_load8_le(mem, 2291bv64) == 32bv8); + free requires (memory_load8_le(mem, 2292bv64) == 37bv8); + free requires (memory_load8_le(mem, 2293bv64) == 100bv8); + free requires (memory_load8_le(mem, 2294bv64) == 10bv8); + free requires (memory_load8_le(mem, 2295bv64) == 0bv8); + free requires (memory_load8_le(mem, 2296bv64) == 84bv8); + free requires (memory_load8_le(mem, 2297bv64) == 104bv8); + free requires (memory_load8_le(mem, 2298bv64) == 101bv8); + free requires (memory_load8_le(mem, 2299bv64) == 32bv8); + free requires (memory_load8_le(mem, 2300bv64) == 108bv8); + free requires (memory_load8_le(mem, 2301bv64) == 111bv8); + free requires (memory_load8_le(mem, 2302bv64) == 99bv8); + free requires (memory_load8_le(mem, 2303bv64) == 97bv8); + free requires (memory_load8_le(mem, 2304bv64) == 108bv8); + free requires (memory_load8_le(mem, 2305bv64) == 32bv8); + free requires (memory_load8_le(mem, 2306bv64) == 118bv8); + free requires (memory_load8_le(mem, 2307bv64) == 97bv8); + free requires (memory_load8_le(mem, 2308bv64) == 114bv8); + free requires (memory_load8_le(mem, 2309bv64) == 105bv8); + free requires (memory_load8_le(mem, 2310bv64) == 97bv8); + free requires (memory_load8_le(mem, 2311bv64) == 98bv8); + free requires (memory_load8_le(mem, 2312bv64) == 108bv8); + free requires (memory_load8_le(mem, 2313bv64) == 101bv8); + free requires (memory_load8_le(mem, 2314bv64) == 32bv8); + free requires (memory_load8_le(mem, 2315bv64) == 105bv8); + free requires (memory_load8_le(mem, 2316bv64) == 115bv8); + free requires (memory_load8_le(mem, 2317bv64) == 58bv8); + free requires (memory_load8_le(mem, 2318bv64) == 32bv8); + free requires (memory_load8_le(mem, 2319bv64) == 37bv8); + free requires (memory_load8_le(mem, 2320bv64) == 100bv8); + free requires (memory_load8_le(mem, 2321bv64) == 10bv8); + free requires (memory_load8_le(mem, 2322bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2248bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -398,6 +729,434 @@ procedure main() procedure malloc(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2248bv64) == 1bv8); + free requires (memory_load8_le(mem, 2249bv64) == 0bv8); + free requires (memory_load8_le(mem, 2250bv64) == 2bv8); + free requires (memory_load8_le(mem, 2251bv64) == 0bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 0bv8); + free requires (memory_load8_le(mem, 2254bv64) == 0bv8); + free requires (memory_load8_le(mem, 2255bv64) == 0bv8); + free requires (memory_load8_le(mem, 2256bv64) == 84bv8); + free requires (memory_load8_le(mem, 2257bv64) == 104bv8); + free requires (memory_load8_le(mem, 2258bv64) == 101bv8); + free requires (memory_load8_le(mem, 2259bv64) == 32bv8); + free requires (memory_load8_le(mem, 2260bv64) == 99bv8); + free requires (memory_load8_le(mem, 2261bv64) == 104bv8); + free requires (memory_load8_le(mem, 2262bv64) == 97bv8); + free requires (memory_load8_le(mem, 2263bv64) == 114bv8); + free requires (memory_load8_le(mem, 2264bv64) == 32bv8); + free requires (memory_load8_le(mem, 2265bv64) == 105bv8); + free requires (memory_load8_le(mem, 2266bv64) == 115bv8); + free requires (memory_load8_le(mem, 2267bv64) == 58bv8); + free requires (memory_load8_le(mem, 2268bv64) == 32bv8); + free requires (memory_load8_le(mem, 2269bv64) == 37bv8); + free requires (memory_load8_le(mem, 2270bv64) == 99bv8); + free requires (memory_load8_le(mem, 2271bv64) == 10bv8); + free requires (memory_load8_le(mem, 2272bv64) == 0bv8); + free requires (memory_load8_le(mem, 2273bv64) == 0bv8); + free requires (memory_load8_le(mem, 2274bv64) == 0bv8); + free requires (memory_load8_le(mem, 2275bv64) == 0bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 0bv8); + free requires (memory_load8_le(mem, 2278bv64) == 0bv8); + free requires (memory_load8_le(mem, 2279bv64) == 0bv8); + free requires (memory_load8_le(mem, 2280bv64) == 84bv8); + free requires (memory_load8_le(mem, 2281bv64) == 104bv8); + free requires (memory_load8_le(mem, 2282bv64) == 101bv8); + free requires (memory_load8_le(mem, 2283bv64) == 32bv8); + free requires (memory_load8_le(mem, 2284bv64) == 105bv8); + free requires (memory_load8_le(mem, 2285bv64) == 110bv8); + free requires (memory_load8_le(mem, 2286bv64) == 116bv8); + free requires (memory_load8_le(mem, 2287bv64) == 32bv8); + free requires (memory_load8_le(mem, 2288bv64) == 105bv8); + free requires (memory_load8_le(mem, 2289bv64) == 115bv8); + free requires (memory_load8_le(mem, 2290bv64) == 58bv8); + free requires (memory_load8_le(mem, 2291bv64) == 32bv8); + free requires (memory_load8_le(mem, 2292bv64) == 37bv8); + free requires (memory_load8_le(mem, 2293bv64) == 100bv8); + free requires (memory_load8_le(mem, 2294bv64) == 10bv8); + free requires (memory_load8_le(mem, 2295bv64) == 0bv8); + free requires (memory_load8_le(mem, 2296bv64) == 84bv8); + free requires (memory_load8_le(mem, 2297bv64) == 104bv8); + free requires (memory_load8_le(mem, 2298bv64) == 101bv8); + free requires (memory_load8_le(mem, 2299bv64) == 32bv8); + free requires (memory_load8_le(mem, 2300bv64) == 108bv8); + free requires (memory_load8_le(mem, 2301bv64) == 111bv8); + free requires (memory_load8_le(mem, 2302bv64) == 99bv8); + free requires (memory_load8_le(mem, 2303bv64) == 97bv8); + free requires (memory_load8_le(mem, 2304bv64) == 108bv8); + free requires (memory_load8_le(mem, 2305bv64) == 32bv8); + free requires (memory_load8_le(mem, 2306bv64) == 118bv8); + free requires (memory_load8_le(mem, 2307bv64) == 97bv8); + free requires (memory_load8_le(mem, 2308bv64) == 114bv8); + free requires (memory_load8_le(mem, 2309bv64) == 105bv8); + free requires (memory_load8_le(mem, 2310bv64) == 97bv8); + free requires (memory_load8_le(mem, 2311bv64) == 98bv8); + free requires (memory_load8_le(mem, 2312bv64) == 108bv8); + free requires (memory_load8_le(mem, 2313bv64) == 101bv8); + free requires (memory_load8_le(mem, 2314bv64) == 32bv8); + free requires (memory_load8_le(mem, 2315bv64) == 105bv8); + free requires (memory_load8_le(mem, 2316bv64) == 115bv8); + free requires (memory_load8_le(mem, 2317bv64) == 58bv8); + free requires (memory_load8_le(mem, 2318bv64) == 32bv8); + free requires (memory_load8_le(mem, 2319bv64) == 37bv8); + free requires (memory_load8_le(mem, 2320bv64) == 100bv8); + free requires (memory_load8_le(mem, 2321bv64) == 10bv8); + free requires (memory_load8_le(mem, 2322bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure printf(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2248bv64) == 1bv8); + free requires (memory_load8_le(mem, 2249bv64) == 0bv8); + free requires (memory_load8_le(mem, 2250bv64) == 2bv8); + free requires (memory_load8_le(mem, 2251bv64) == 0bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 0bv8); + free requires (memory_load8_le(mem, 2254bv64) == 0bv8); + free requires (memory_load8_le(mem, 2255bv64) == 0bv8); + free requires (memory_load8_le(mem, 2256bv64) == 84bv8); + free requires (memory_load8_le(mem, 2257bv64) == 104bv8); + free requires (memory_load8_le(mem, 2258bv64) == 101bv8); + free requires (memory_load8_le(mem, 2259bv64) == 32bv8); + free requires (memory_load8_le(mem, 2260bv64) == 99bv8); + free requires (memory_load8_le(mem, 2261bv64) == 104bv8); + free requires (memory_load8_le(mem, 2262bv64) == 97bv8); + free requires (memory_load8_le(mem, 2263bv64) == 114bv8); + free requires (memory_load8_le(mem, 2264bv64) == 32bv8); + free requires (memory_load8_le(mem, 2265bv64) == 105bv8); + free requires (memory_load8_le(mem, 2266bv64) == 115bv8); + free requires (memory_load8_le(mem, 2267bv64) == 58bv8); + free requires (memory_load8_le(mem, 2268bv64) == 32bv8); + free requires (memory_load8_le(mem, 2269bv64) == 37bv8); + free requires (memory_load8_le(mem, 2270bv64) == 99bv8); + free requires (memory_load8_le(mem, 2271bv64) == 10bv8); + free requires (memory_load8_le(mem, 2272bv64) == 0bv8); + free requires (memory_load8_le(mem, 2273bv64) == 0bv8); + free requires (memory_load8_le(mem, 2274bv64) == 0bv8); + free requires (memory_load8_le(mem, 2275bv64) == 0bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 0bv8); + free requires (memory_load8_le(mem, 2278bv64) == 0bv8); + free requires (memory_load8_le(mem, 2279bv64) == 0bv8); + free requires (memory_load8_le(mem, 2280bv64) == 84bv8); + free requires (memory_load8_le(mem, 2281bv64) == 104bv8); + free requires (memory_load8_le(mem, 2282bv64) == 101bv8); + free requires (memory_load8_le(mem, 2283bv64) == 32bv8); + free requires (memory_load8_le(mem, 2284bv64) == 105bv8); + free requires (memory_load8_le(mem, 2285bv64) == 110bv8); + free requires (memory_load8_le(mem, 2286bv64) == 116bv8); + free requires (memory_load8_le(mem, 2287bv64) == 32bv8); + free requires (memory_load8_le(mem, 2288bv64) == 105bv8); + free requires (memory_load8_le(mem, 2289bv64) == 115bv8); + free requires (memory_load8_le(mem, 2290bv64) == 58bv8); + free requires (memory_load8_le(mem, 2291bv64) == 32bv8); + free requires (memory_load8_le(mem, 2292bv64) == 37bv8); + free requires (memory_load8_le(mem, 2293bv64) == 100bv8); + free requires (memory_load8_le(mem, 2294bv64) == 10bv8); + free requires (memory_load8_le(mem, 2295bv64) == 0bv8); + free requires (memory_load8_le(mem, 2296bv64) == 84bv8); + free requires (memory_load8_le(mem, 2297bv64) == 104bv8); + free requires (memory_load8_le(mem, 2298bv64) == 101bv8); + free requires (memory_load8_le(mem, 2299bv64) == 32bv8); + free requires (memory_load8_le(mem, 2300bv64) == 108bv8); + free requires (memory_load8_le(mem, 2301bv64) == 111bv8); + free requires (memory_load8_le(mem, 2302bv64) == 99bv8); + free requires (memory_load8_le(mem, 2303bv64) == 97bv8); + free requires (memory_load8_le(mem, 2304bv64) == 108bv8); + free requires (memory_load8_le(mem, 2305bv64) == 32bv8); + free requires (memory_load8_le(mem, 2306bv64) == 118bv8); + free requires (memory_load8_le(mem, 2307bv64) == 97bv8); + free requires (memory_load8_le(mem, 2308bv64) == 114bv8); + free requires (memory_load8_le(mem, 2309bv64) == 105bv8); + free requires (memory_load8_le(mem, 2310bv64) == 97bv8); + free requires (memory_load8_le(mem, 2311bv64) == 98bv8); + free requires (memory_load8_le(mem, 2312bv64) == 108bv8); + free requires (memory_load8_le(mem, 2313bv64) == 101bv8); + free requires (memory_load8_le(mem, 2314bv64) == 32bv8); + free requires (memory_load8_le(mem, 2315bv64) == 105bv8); + free requires (memory_load8_le(mem, 2316bv64) == 115bv8); + free requires (memory_load8_le(mem, 2317bv64) == 58bv8); + free requires (memory_load8_le(mem, 2318bv64) == 32bv8); + free requires (memory_load8_le(mem, 2319bv64) == 37bv8); + free requires (memory_load8_le(mem, 2320bv64) == 100bv8); + free requires (memory_load8_le(mem, 2321bv64) == 10bv8); + free requires (memory_load8_le(mem, 2322bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); diff --git a/src/test/correct/malloc_with_local/gcc_pic/malloc_with_local.expected b/src/test/correct/malloc_with_local/gcc_pic/malloc_with_local.expected index ab464f48c..d836114ae 100644 --- a/src/test/correct/malloc_with_local/gcc_pic/malloc_with_local.expected +++ b/src/test/correct/malloc_with_local/gcc_pic/malloc_with_local.expected @@ -75,9 +75,115 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2248bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -95,9 +201,6 @@ procedure guarantee_reflexive(); procedure #free(); modifies Gamma_R16, Gamma_R17, R16, R17; - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 2248bv64) == 1bv8); free requires (memory_load8_le(mem, 2249bv64) == 0bv8); free requires (memory_load8_le(mem, 2250bv64) == 2bv8); @@ -173,118 +276,22 @@ procedure main() free requires (memory_load8_le(mem, 2320bv64) == 100bv8); free requires (memory_load8_le(mem, 2321bv64) == 10bv8); free requires (memory_load8_le(mem, 2322bv64) == 0bv8); - free requires (memory_load8_le(mem, 69504bv64) == 0bv8); - free requires (memory_load8_le(mem, 69505bv64) == 0bv8); - free requires (memory_load8_le(mem, 69506bv64) == 0bv8); - free requires (memory_load8_le(mem, 69507bv64) == 0bv8); - free requires (memory_load8_le(mem, 69508bv64) == 0bv8); - free requires (memory_load8_le(mem, 69509bv64) == 0bv8); - free requires (memory_load8_le(mem, 69510bv64) == 0bv8); - free requires (memory_load8_le(mem, 69511bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 64bv8); - free requires (memory_load8_le(mem, 69529bv64) == 6bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 64bv8); - free requires (memory_load8_le(mem, 69537bv64) == 6bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 64bv8); - free requires (memory_load8_le(mem, 69545bv64) == 6bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 64bv8); - free requires (memory_load8_le(mem, 69553bv64) == 6bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 64bv8); - free requires (memory_load8_le(mem, 69561bv64) == 6bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 64bv8); - free requires (memory_load8_le(mem, 69569bv64) == 6bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 64bv8); - free requires (memory_load8_le(mem, 69577bv64) == 6bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 144bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 8bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -293,14 +300,124 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -317,10 +434,224 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 2248bv64) == 1bv8); + free requires (memory_load8_le(mem, 2249bv64) == 0bv8); + free requires (memory_load8_le(mem, 2250bv64) == 2bv8); + free requires (memory_load8_le(mem, 2251bv64) == 0bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 0bv8); + free requires (memory_load8_le(mem, 2254bv64) == 0bv8); + free requires (memory_load8_le(mem, 2255bv64) == 0bv8); + free requires (memory_load8_le(mem, 2256bv64) == 84bv8); + free requires (memory_load8_le(mem, 2257bv64) == 104bv8); + free requires (memory_load8_le(mem, 2258bv64) == 101bv8); + free requires (memory_load8_le(mem, 2259bv64) == 32bv8); + free requires (memory_load8_le(mem, 2260bv64) == 99bv8); + free requires (memory_load8_le(mem, 2261bv64) == 104bv8); + free requires (memory_load8_le(mem, 2262bv64) == 97bv8); + free requires (memory_load8_le(mem, 2263bv64) == 114bv8); + free requires (memory_load8_le(mem, 2264bv64) == 32bv8); + free requires (memory_load8_le(mem, 2265bv64) == 105bv8); + free requires (memory_load8_le(mem, 2266bv64) == 115bv8); + free requires (memory_load8_le(mem, 2267bv64) == 58bv8); + free requires (memory_load8_le(mem, 2268bv64) == 32bv8); + free requires (memory_load8_le(mem, 2269bv64) == 37bv8); + free requires (memory_load8_le(mem, 2270bv64) == 99bv8); + free requires (memory_load8_le(mem, 2271bv64) == 10bv8); + free requires (memory_load8_le(mem, 2272bv64) == 0bv8); + free requires (memory_load8_le(mem, 2273bv64) == 0bv8); + free requires (memory_load8_le(mem, 2274bv64) == 0bv8); + free requires (memory_load8_le(mem, 2275bv64) == 0bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 0bv8); + free requires (memory_load8_le(mem, 2278bv64) == 0bv8); + free requires (memory_load8_le(mem, 2279bv64) == 0bv8); + free requires (memory_load8_le(mem, 2280bv64) == 84bv8); + free requires (memory_load8_le(mem, 2281bv64) == 104bv8); + free requires (memory_load8_le(mem, 2282bv64) == 101bv8); + free requires (memory_load8_le(mem, 2283bv64) == 32bv8); + free requires (memory_load8_le(mem, 2284bv64) == 105bv8); + free requires (memory_load8_le(mem, 2285bv64) == 110bv8); + free requires (memory_load8_le(mem, 2286bv64) == 116bv8); + free requires (memory_load8_le(mem, 2287bv64) == 32bv8); + free requires (memory_load8_le(mem, 2288bv64) == 105bv8); + free requires (memory_load8_le(mem, 2289bv64) == 115bv8); + free requires (memory_load8_le(mem, 2290bv64) == 58bv8); + free requires (memory_load8_le(mem, 2291bv64) == 32bv8); + free requires (memory_load8_le(mem, 2292bv64) == 37bv8); + free requires (memory_load8_le(mem, 2293bv64) == 100bv8); + free requires (memory_load8_le(mem, 2294bv64) == 10bv8); + free requires (memory_load8_le(mem, 2295bv64) == 0bv8); + free requires (memory_load8_le(mem, 2296bv64) == 84bv8); + free requires (memory_load8_le(mem, 2297bv64) == 104bv8); + free requires (memory_load8_le(mem, 2298bv64) == 101bv8); + free requires (memory_load8_le(mem, 2299bv64) == 32bv8); + free requires (memory_load8_le(mem, 2300bv64) == 108bv8); + free requires (memory_load8_le(mem, 2301bv64) == 111bv8); + free requires (memory_load8_le(mem, 2302bv64) == 99bv8); + free requires (memory_load8_le(mem, 2303bv64) == 97bv8); + free requires (memory_load8_le(mem, 2304bv64) == 108bv8); + free requires (memory_load8_le(mem, 2305bv64) == 32bv8); + free requires (memory_load8_le(mem, 2306bv64) == 118bv8); + free requires (memory_load8_le(mem, 2307bv64) == 97bv8); + free requires (memory_load8_le(mem, 2308bv64) == 114bv8); + free requires (memory_load8_le(mem, 2309bv64) == 105bv8); + free requires (memory_load8_le(mem, 2310bv64) == 97bv8); + free requires (memory_load8_le(mem, 2311bv64) == 98bv8); + free requires (memory_load8_le(mem, 2312bv64) == 108bv8); + free requires (memory_load8_le(mem, 2313bv64) == 101bv8); + free requires (memory_load8_le(mem, 2314bv64) == 32bv8); + free requires (memory_load8_le(mem, 2315bv64) == 105bv8); + free requires (memory_load8_le(mem, 2316bv64) == 115bv8); + free requires (memory_load8_le(mem, 2317bv64) == 58bv8); + free requires (memory_load8_le(mem, 2318bv64) == 32bv8); + free requires (memory_load8_le(mem, 2319bv64) == 37bv8); + free requires (memory_load8_le(mem, 2320bv64) == 100bv8); + free requires (memory_load8_le(mem, 2321bv64) == 10bv8); + free requires (memory_load8_le(mem, 2322bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2248bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -398,6 +729,434 @@ procedure main() procedure malloc(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2248bv64) == 1bv8); + free requires (memory_load8_le(mem, 2249bv64) == 0bv8); + free requires (memory_load8_le(mem, 2250bv64) == 2bv8); + free requires (memory_load8_le(mem, 2251bv64) == 0bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 0bv8); + free requires (memory_load8_le(mem, 2254bv64) == 0bv8); + free requires (memory_load8_le(mem, 2255bv64) == 0bv8); + free requires (memory_load8_le(mem, 2256bv64) == 84bv8); + free requires (memory_load8_le(mem, 2257bv64) == 104bv8); + free requires (memory_load8_le(mem, 2258bv64) == 101bv8); + free requires (memory_load8_le(mem, 2259bv64) == 32bv8); + free requires (memory_load8_le(mem, 2260bv64) == 99bv8); + free requires (memory_load8_le(mem, 2261bv64) == 104bv8); + free requires (memory_load8_le(mem, 2262bv64) == 97bv8); + free requires (memory_load8_le(mem, 2263bv64) == 114bv8); + free requires (memory_load8_le(mem, 2264bv64) == 32bv8); + free requires (memory_load8_le(mem, 2265bv64) == 105bv8); + free requires (memory_load8_le(mem, 2266bv64) == 115bv8); + free requires (memory_load8_le(mem, 2267bv64) == 58bv8); + free requires (memory_load8_le(mem, 2268bv64) == 32bv8); + free requires (memory_load8_le(mem, 2269bv64) == 37bv8); + free requires (memory_load8_le(mem, 2270bv64) == 99bv8); + free requires (memory_load8_le(mem, 2271bv64) == 10bv8); + free requires (memory_load8_le(mem, 2272bv64) == 0bv8); + free requires (memory_load8_le(mem, 2273bv64) == 0bv8); + free requires (memory_load8_le(mem, 2274bv64) == 0bv8); + free requires (memory_load8_le(mem, 2275bv64) == 0bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 0bv8); + free requires (memory_load8_le(mem, 2278bv64) == 0bv8); + free requires (memory_load8_le(mem, 2279bv64) == 0bv8); + free requires (memory_load8_le(mem, 2280bv64) == 84bv8); + free requires (memory_load8_le(mem, 2281bv64) == 104bv8); + free requires (memory_load8_le(mem, 2282bv64) == 101bv8); + free requires (memory_load8_le(mem, 2283bv64) == 32bv8); + free requires (memory_load8_le(mem, 2284bv64) == 105bv8); + free requires (memory_load8_le(mem, 2285bv64) == 110bv8); + free requires (memory_load8_le(mem, 2286bv64) == 116bv8); + free requires (memory_load8_le(mem, 2287bv64) == 32bv8); + free requires (memory_load8_le(mem, 2288bv64) == 105bv8); + free requires (memory_load8_le(mem, 2289bv64) == 115bv8); + free requires (memory_load8_le(mem, 2290bv64) == 58bv8); + free requires (memory_load8_le(mem, 2291bv64) == 32bv8); + free requires (memory_load8_le(mem, 2292bv64) == 37bv8); + free requires (memory_load8_le(mem, 2293bv64) == 100bv8); + free requires (memory_load8_le(mem, 2294bv64) == 10bv8); + free requires (memory_load8_le(mem, 2295bv64) == 0bv8); + free requires (memory_load8_le(mem, 2296bv64) == 84bv8); + free requires (memory_load8_le(mem, 2297bv64) == 104bv8); + free requires (memory_load8_le(mem, 2298bv64) == 101bv8); + free requires (memory_load8_le(mem, 2299bv64) == 32bv8); + free requires (memory_load8_le(mem, 2300bv64) == 108bv8); + free requires (memory_load8_le(mem, 2301bv64) == 111bv8); + free requires (memory_load8_le(mem, 2302bv64) == 99bv8); + free requires (memory_load8_le(mem, 2303bv64) == 97bv8); + free requires (memory_load8_le(mem, 2304bv64) == 108bv8); + free requires (memory_load8_le(mem, 2305bv64) == 32bv8); + free requires (memory_load8_le(mem, 2306bv64) == 118bv8); + free requires (memory_load8_le(mem, 2307bv64) == 97bv8); + free requires (memory_load8_le(mem, 2308bv64) == 114bv8); + free requires (memory_load8_le(mem, 2309bv64) == 105bv8); + free requires (memory_load8_le(mem, 2310bv64) == 97bv8); + free requires (memory_load8_le(mem, 2311bv64) == 98bv8); + free requires (memory_load8_le(mem, 2312bv64) == 108bv8); + free requires (memory_load8_le(mem, 2313bv64) == 101bv8); + free requires (memory_load8_le(mem, 2314bv64) == 32bv8); + free requires (memory_load8_le(mem, 2315bv64) == 105bv8); + free requires (memory_load8_le(mem, 2316bv64) == 115bv8); + free requires (memory_load8_le(mem, 2317bv64) == 58bv8); + free requires (memory_load8_le(mem, 2318bv64) == 32bv8); + free requires (memory_load8_le(mem, 2319bv64) == 37bv8); + free requires (memory_load8_le(mem, 2320bv64) == 100bv8); + free requires (memory_load8_le(mem, 2321bv64) == 10bv8); + free requires (memory_load8_le(mem, 2322bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure printf(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2248bv64) == 1bv8); + free requires (memory_load8_le(mem, 2249bv64) == 0bv8); + free requires (memory_load8_le(mem, 2250bv64) == 2bv8); + free requires (memory_load8_le(mem, 2251bv64) == 0bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 0bv8); + free requires (memory_load8_le(mem, 2254bv64) == 0bv8); + free requires (memory_load8_le(mem, 2255bv64) == 0bv8); + free requires (memory_load8_le(mem, 2256bv64) == 84bv8); + free requires (memory_load8_le(mem, 2257bv64) == 104bv8); + free requires (memory_load8_le(mem, 2258bv64) == 101bv8); + free requires (memory_load8_le(mem, 2259bv64) == 32bv8); + free requires (memory_load8_le(mem, 2260bv64) == 99bv8); + free requires (memory_load8_le(mem, 2261bv64) == 104bv8); + free requires (memory_load8_le(mem, 2262bv64) == 97bv8); + free requires (memory_load8_le(mem, 2263bv64) == 114bv8); + free requires (memory_load8_le(mem, 2264bv64) == 32bv8); + free requires (memory_load8_le(mem, 2265bv64) == 105bv8); + free requires (memory_load8_le(mem, 2266bv64) == 115bv8); + free requires (memory_load8_le(mem, 2267bv64) == 58bv8); + free requires (memory_load8_le(mem, 2268bv64) == 32bv8); + free requires (memory_load8_le(mem, 2269bv64) == 37bv8); + free requires (memory_load8_le(mem, 2270bv64) == 99bv8); + free requires (memory_load8_le(mem, 2271bv64) == 10bv8); + free requires (memory_load8_le(mem, 2272bv64) == 0bv8); + free requires (memory_load8_le(mem, 2273bv64) == 0bv8); + free requires (memory_load8_le(mem, 2274bv64) == 0bv8); + free requires (memory_load8_le(mem, 2275bv64) == 0bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 0bv8); + free requires (memory_load8_le(mem, 2278bv64) == 0bv8); + free requires (memory_load8_le(mem, 2279bv64) == 0bv8); + free requires (memory_load8_le(mem, 2280bv64) == 84bv8); + free requires (memory_load8_le(mem, 2281bv64) == 104bv8); + free requires (memory_load8_le(mem, 2282bv64) == 101bv8); + free requires (memory_load8_le(mem, 2283bv64) == 32bv8); + free requires (memory_load8_le(mem, 2284bv64) == 105bv8); + free requires (memory_load8_le(mem, 2285bv64) == 110bv8); + free requires (memory_load8_le(mem, 2286bv64) == 116bv8); + free requires (memory_load8_le(mem, 2287bv64) == 32bv8); + free requires (memory_load8_le(mem, 2288bv64) == 105bv8); + free requires (memory_load8_le(mem, 2289bv64) == 115bv8); + free requires (memory_load8_le(mem, 2290bv64) == 58bv8); + free requires (memory_load8_le(mem, 2291bv64) == 32bv8); + free requires (memory_load8_le(mem, 2292bv64) == 37bv8); + free requires (memory_load8_le(mem, 2293bv64) == 100bv8); + free requires (memory_load8_le(mem, 2294bv64) == 10bv8); + free requires (memory_load8_le(mem, 2295bv64) == 0bv8); + free requires (memory_load8_le(mem, 2296bv64) == 84bv8); + free requires (memory_load8_le(mem, 2297bv64) == 104bv8); + free requires (memory_load8_le(mem, 2298bv64) == 101bv8); + free requires (memory_load8_le(mem, 2299bv64) == 32bv8); + free requires (memory_load8_le(mem, 2300bv64) == 108bv8); + free requires (memory_load8_le(mem, 2301bv64) == 111bv8); + free requires (memory_load8_le(mem, 2302bv64) == 99bv8); + free requires (memory_load8_le(mem, 2303bv64) == 97bv8); + free requires (memory_load8_le(mem, 2304bv64) == 108bv8); + free requires (memory_load8_le(mem, 2305bv64) == 32bv8); + free requires (memory_load8_le(mem, 2306bv64) == 118bv8); + free requires (memory_load8_le(mem, 2307bv64) == 97bv8); + free requires (memory_load8_le(mem, 2308bv64) == 114bv8); + free requires (memory_load8_le(mem, 2309bv64) == 105bv8); + free requires (memory_load8_le(mem, 2310bv64) == 97bv8); + free requires (memory_load8_le(mem, 2311bv64) == 98bv8); + free requires (memory_load8_le(mem, 2312bv64) == 108bv8); + free requires (memory_load8_le(mem, 2313bv64) == 101bv8); + free requires (memory_load8_le(mem, 2314bv64) == 32bv8); + free requires (memory_load8_le(mem, 2315bv64) == 105bv8); + free requires (memory_load8_le(mem, 2316bv64) == 115bv8); + free requires (memory_load8_le(mem, 2317bv64) == 58bv8); + free requires (memory_load8_le(mem, 2318bv64) == 32bv8); + free requires (memory_load8_le(mem, 2319bv64) == 37bv8); + free requires (memory_load8_le(mem, 2320bv64) == 100bv8); + free requires (memory_load8_le(mem, 2321bv64) == 10bv8); + free requires (memory_load8_le(mem, 2322bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); diff --git a/src/test/correct/malloc_with_local2/clang/malloc_with_local2.expected b/src/test/correct/malloc_with_local2/clang/malloc_with_local2.expected index 9fcbe894f..94a62b5ed 100644 --- a/src/test/correct/malloc_with_local2/clang/malloc_with_local2.expected +++ b/src/test/correct/malloc_with_local2/clang/malloc_with_local2.expected @@ -79,9 +79,104 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2292bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -99,9 +194,6 @@ procedure guarantee_reflexive(); procedure #free(); modifies Gamma_R16, Gamma_R17, R16, R17; - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 2292bv64) == 1bv8); free requires (memory_load8_le(mem, 2293bv64) == 0bv8); free requires (memory_load8_le(mem, 2294bv64) == 2bv8); @@ -166,38 +258,22 @@ procedure main() free requires (memory_load8_le(mem, 2353bv64) == 100bv8); free requires (memory_load8_le(mem, 2354bv64) == 10bv8); free requires (memory_load8_le(mem, 2355bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 8bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -206,14 +282,113 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 69688bv64) == 0bv8); free requires (memory_load8_le(mem, 69689bv64) == 0bv8); free requires (memory_load8_le(mem, 69690bv64) == 0bv8); @@ -230,10 +405,202 @@ procedure main() free requires (memory_load8_le(mem, 69701bv64) == 0bv8); free requires (memory_load8_le(mem, 69702bv64) == 0bv8); free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free requires (memory_load8_le(mem, 2292bv64) == 1bv8); + free requires (memory_load8_le(mem, 2293bv64) == 0bv8); + free requires (memory_load8_le(mem, 2294bv64) == 2bv8); + free requires (memory_load8_le(mem, 2295bv64) == 0bv8); + free requires (memory_load8_le(mem, 2296bv64) == 84bv8); + free requires (memory_load8_le(mem, 2297bv64) == 104bv8); + free requires (memory_load8_le(mem, 2298bv64) == 101bv8); + free requires (memory_load8_le(mem, 2299bv64) == 32bv8); + free requires (memory_load8_le(mem, 2300bv64) == 99bv8); + free requires (memory_load8_le(mem, 2301bv64) == 104bv8); + free requires (memory_load8_le(mem, 2302bv64) == 97bv8); + free requires (memory_load8_le(mem, 2303bv64) == 114bv8); + free requires (memory_load8_le(mem, 2304bv64) == 32bv8); + free requires (memory_load8_le(mem, 2305bv64) == 105bv8); + free requires (memory_load8_le(mem, 2306bv64) == 115bv8); + free requires (memory_load8_le(mem, 2307bv64) == 58bv8); + free requires (memory_load8_le(mem, 2308bv64) == 32bv8); + free requires (memory_load8_le(mem, 2309bv64) == 37bv8); + free requires (memory_load8_le(mem, 2310bv64) == 99bv8); + free requires (memory_load8_le(mem, 2311bv64) == 10bv8); + free requires (memory_load8_le(mem, 2312bv64) == 0bv8); + free requires (memory_load8_le(mem, 2313bv64) == 84bv8); + free requires (memory_load8_le(mem, 2314bv64) == 104bv8); + free requires (memory_load8_le(mem, 2315bv64) == 101bv8); + free requires (memory_load8_le(mem, 2316bv64) == 32bv8); + free requires (memory_load8_le(mem, 2317bv64) == 105bv8); + free requires (memory_load8_le(mem, 2318bv64) == 110bv8); + free requires (memory_load8_le(mem, 2319bv64) == 116bv8); + free requires (memory_load8_le(mem, 2320bv64) == 32bv8); + free requires (memory_load8_le(mem, 2321bv64) == 105bv8); + free requires (memory_load8_le(mem, 2322bv64) == 115bv8); + free requires (memory_load8_le(mem, 2323bv64) == 58bv8); + free requires (memory_load8_le(mem, 2324bv64) == 32bv8); + free requires (memory_load8_le(mem, 2325bv64) == 37bv8); + free requires (memory_load8_le(mem, 2326bv64) == 100bv8); + free requires (memory_load8_le(mem, 2327bv64) == 10bv8); + free requires (memory_load8_le(mem, 2328bv64) == 0bv8); + free requires (memory_load8_le(mem, 2329bv64) == 84bv8); + free requires (memory_load8_le(mem, 2330bv64) == 104bv8); + free requires (memory_load8_le(mem, 2331bv64) == 101bv8); + free requires (memory_load8_le(mem, 2332bv64) == 32bv8); + free requires (memory_load8_le(mem, 2333bv64) == 108bv8); + free requires (memory_load8_le(mem, 2334bv64) == 111bv8); + free requires (memory_load8_le(mem, 2335bv64) == 99bv8); + free requires (memory_load8_le(mem, 2336bv64) == 97bv8); + free requires (memory_load8_le(mem, 2337bv64) == 108bv8); + free requires (memory_load8_le(mem, 2338bv64) == 32bv8); + free requires (memory_load8_le(mem, 2339bv64) == 118bv8); + free requires (memory_load8_le(mem, 2340bv64) == 97bv8); + free requires (memory_load8_le(mem, 2341bv64) == 114bv8); + free requires (memory_load8_le(mem, 2342bv64) == 105bv8); + free requires (memory_load8_le(mem, 2343bv64) == 97bv8); + free requires (memory_load8_le(mem, 2344bv64) == 98bv8); + free requires (memory_load8_le(mem, 2345bv64) == 108bv8); + free requires (memory_load8_le(mem, 2346bv64) == 101bv8); + free requires (memory_load8_le(mem, 2347bv64) == 32bv8); + free requires (memory_load8_le(mem, 2348bv64) == 105bv8); + free requires (memory_load8_le(mem, 2349bv64) == 115bv8); + free requires (memory_load8_le(mem, 2350bv64) == 58bv8); + free requires (memory_load8_le(mem, 2351bv64) == 32bv8); + free requires (memory_load8_le(mem, 2352bv64) == 37bv8); + free requires (memory_load8_le(mem, 2353bv64) == 100bv8); + free requires (memory_load8_le(mem, 2354bv64) == 10bv8); + free requires (memory_load8_le(mem, 2355bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2292bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); { var #4: bv64; var #5: bv64; @@ -327,6 +694,390 @@ procedure main() procedure malloc(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2292bv64) == 1bv8); + free requires (memory_load8_le(mem, 2293bv64) == 0bv8); + free requires (memory_load8_le(mem, 2294bv64) == 2bv8); + free requires (memory_load8_le(mem, 2295bv64) == 0bv8); + free requires (memory_load8_le(mem, 2296bv64) == 84bv8); + free requires (memory_load8_le(mem, 2297bv64) == 104bv8); + free requires (memory_load8_le(mem, 2298bv64) == 101bv8); + free requires (memory_load8_le(mem, 2299bv64) == 32bv8); + free requires (memory_load8_le(mem, 2300bv64) == 99bv8); + free requires (memory_load8_le(mem, 2301bv64) == 104bv8); + free requires (memory_load8_le(mem, 2302bv64) == 97bv8); + free requires (memory_load8_le(mem, 2303bv64) == 114bv8); + free requires (memory_load8_le(mem, 2304bv64) == 32bv8); + free requires (memory_load8_le(mem, 2305bv64) == 105bv8); + free requires (memory_load8_le(mem, 2306bv64) == 115bv8); + free requires (memory_load8_le(mem, 2307bv64) == 58bv8); + free requires (memory_load8_le(mem, 2308bv64) == 32bv8); + free requires (memory_load8_le(mem, 2309bv64) == 37bv8); + free requires (memory_load8_le(mem, 2310bv64) == 99bv8); + free requires (memory_load8_le(mem, 2311bv64) == 10bv8); + free requires (memory_load8_le(mem, 2312bv64) == 0bv8); + free requires (memory_load8_le(mem, 2313bv64) == 84bv8); + free requires (memory_load8_le(mem, 2314bv64) == 104bv8); + free requires (memory_load8_le(mem, 2315bv64) == 101bv8); + free requires (memory_load8_le(mem, 2316bv64) == 32bv8); + free requires (memory_load8_le(mem, 2317bv64) == 105bv8); + free requires (memory_load8_le(mem, 2318bv64) == 110bv8); + free requires (memory_load8_le(mem, 2319bv64) == 116bv8); + free requires (memory_load8_le(mem, 2320bv64) == 32bv8); + free requires (memory_load8_le(mem, 2321bv64) == 105bv8); + free requires (memory_load8_le(mem, 2322bv64) == 115bv8); + free requires (memory_load8_le(mem, 2323bv64) == 58bv8); + free requires (memory_load8_le(mem, 2324bv64) == 32bv8); + free requires (memory_load8_le(mem, 2325bv64) == 37bv8); + free requires (memory_load8_le(mem, 2326bv64) == 100bv8); + free requires (memory_load8_le(mem, 2327bv64) == 10bv8); + free requires (memory_load8_le(mem, 2328bv64) == 0bv8); + free requires (memory_load8_le(mem, 2329bv64) == 84bv8); + free requires (memory_load8_le(mem, 2330bv64) == 104bv8); + free requires (memory_load8_le(mem, 2331bv64) == 101bv8); + free requires (memory_load8_le(mem, 2332bv64) == 32bv8); + free requires (memory_load8_le(mem, 2333bv64) == 108bv8); + free requires (memory_load8_le(mem, 2334bv64) == 111bv8); + free requires (memory_load8_le(mem, 2335bv64) == 99bv8); + free requires (memory_load8_le(mem, 2336bv64) == 97bv8); + free requires (memory_load8_le(mem, 2337bv64) == 108bv8); + free requires (memory_load8_le(mem, 2338bv64) == 32bv8); + free requires (memory_load8_le(mem, 2339bv64) == 118bv8); + free requires (memory_load8_le(mem, 2340bv64) == 97bv8); + free requires (memory_load8_le(mem, 2341bv64) == 114bv8); + free requires (memory_load8_le(mem, 2342bv64) == 105bv8); + free requires (memory_load8_le(mem, 2343bv64) == 97bv8); + free requires (memory_load8_le(mem, 2344bv64) == 98bv8); + free requires (memory_load8_le(mem, 2345bv64) == 108bv8); + free requires (memory_load8_le(mem, 2346bv64) == 101bv8); + free requires (memory_load8_le(mem, 2347bv64) == 32bv8); + free requires (memory_load8_le(mem, 2348bv64) == 105bv8); + free requires (memory_load8_le(mem, 2349bv64) == 115bv8); + free requires (memory_load8_le(mem, 2350bv64) == 58bv8); + free requires (memory_load8_le(mem, 2351bv64) == 32bv8); + free requires (memory_load8_le(mem, 2352bv64) == 37bv8); + free requires (memory_load8_le(mem, 2353bv64) == 100bv8); + free requires (memory_load8_le(mem, 2354bv64) == 10bv8); + free requires (memory_load8_le(mem, 2355bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure printf(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2292bv64) == 1bv8); + free requires (memory_load8_le(mem, 2293bv64) == 0bv8); + free requires (memory_load8_le(mem, 2294bv64) == 2bv8); + free requires (memory_load8_le(mem, 2295bv64) == 0bv8); + free requires (memory_load8_le(mem, 2296bv64) == 84bv8); + free requires (memory_load8_le(mem, 2297bv64) == 104bv8); + free requires (memory_load8_le(mem, 2298bv64) == 101bv8); + free requires (memory_load8_le(mem, 2299bv64) == 32bv8); + free requires (memory_load8_le(mem, 2300bv64) == 99bv8); + free requires (memory_load8_le(mem, 2301bv64) == 104bv8); + free requires (memory_load8_le(mem, 2302bv64) == 97bv8); + free requires (memory_load8_le(mem, 2303bv64) == 114bv8); + free requires (memory_load8_le(mem, 2304bv64) == 32bv8); + free requires (memory_load8_le(mem, 2305bv64) == 105bv8); + free requires (memory_load8_le(mem, 2306bv64) == 115bv8); + free requires (memory_load8_le(mem, 2307bv64) == 58bv8); + free requires (memory_load8_le(mem, 2308bv64) == 32bv8); + free requires (memory_load8_le(mem, 2309bv64) == 37bv8); + free requires (memory_load8_le(mem, 2310bv64) == 99bv8); + free requires (memory_load8_le(mem, 2311bv64) == 10bv8); + free requires (memory_load8_le(mem, 2312bv64) == 0bv8); + free requires (memory_load8_le(mem, 2313bv64) == 84bv8); + free requires (memory_load8_le(mem, 2314bv64) == 104bv8); + free requires (memory_load8_le(mem, 2315bv64) == 101bv8); + free requires (memory_load8_le(mem, 2316bv64) == 32bv8); + free requires (memory_load8_le(mem, 2317bv64) == 105bv8); + free requires (memory_load8_le(mem, 2318bv64) == 110bv8); + free requires (memory_load8_le(mem, 2319bv64) == 116bv8); + free requires (memory_load8_le(mem, 2320bv64) == 32bv8); + free requires (memory_load8_le(mem, 2321bv64) == 105bv8); + free requires (memory_load8_le(mem, 2322bv64) == 115bv8); + free requires (memory_load8_le(mem, 2323bv64) == 58bv8); + free requires (memory_load8_le(mem, 2324bv64) == 32bv8); + free requires (memory_load8_le(mem, 2325bv64) == 37bv8); + free requires (memory_load8_le(mem, 2326bv64) == 100bv8); + free requires (memory_load8_le(mem, 2327bv64) == 10bv8); + free requires (memory_load8_le(mem, 2328bv64) == 0bv8); + free requires (memory_load8_le(mem, 2329bv64) == 84bv8); + free requires (memory_load8_le(mem, 2330bv64) == 104bv8); + free requires (memory_load8_le(mem, 2331bv64) == 101bv8); + free requires (memory_load8_le(mem, 2332bv64) == 32bv8); + free requires (memory_load8_le(mem, 2333bv64) == 108bv8); + free requires (memory_load8_le(mem, 2334bv64) == 111bv8); + free requires (memory_load8_le(mem, 2335bv64) == 99bv8); + free requires (memory_load8_le(mem, 2336bv64) == 97bv8); + free requires (memory_load8_le(mem, 2337bv64) == 108bv8); + free requires (memory_load8_le(mem, 2338bv64) == 32bv8); + free requires (memory_load8_le(mem, 2339bv64) == 118bv8); + free requires (memory_load8_le(mem, 2340bv64) == 97bv8); + free requires (memory_load8_le(mem, 2341bv64) == 114bv8); + free requires (memory_load8_le(mem, 2342bv64) == 105bv8); + free requires (memory_load8_le(mem, 2343bv64) == 97bv8); + free requires (memory_load8_le(mem, 2344bv64) == 98bv8); + free requires (memory_load8_le(mem, 2345bv64) == 108bv8); + free requires (memory_load8_le(mem, 2346bv64) == 101bv8); + free requires (memory_load8_le(mem, 2347bv64) == 32bv8); + free requires (memory_load8_le(mem, 2348bv64) == 105bv8); + free requires (memory_load8_le(mem, 2349bv64) == 115bv8); + free requires (memory_load8_le(mem, 2350bv64) == 58bv8); + free requires (memory_load8_le(mem, 2351bv64) == 32bv8); + free requires (memory_load8_le(mem, 2352bv64) == 37bv8); + free requires (memory_load8_le(mem, 2353bv64) == 100bv8); + free requires (memory_load8_le(mem, 2354bv64) == 10bv8); + free requires (memory_load8_le(mem, 2355bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); diff --git a/src/test/correct/malloc_with_local2/clang_O2/malloc_with_local2.expected b/src/test/correct/malloc_with_local2/clang_O2/malloc_with_local2.expected index c126de600..b901cac11 100644 --- a/src/test/correct/malloc_with_local2/clang_O2/malloc_with_local2.expected +++ b/src/test/correct/malloc_with_local2/clang_O2/malloc_with_local2.expected @@ -41,9 +41,104 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1964bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1965bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1966bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1967bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1968bv64) == 84bv8); + free ensures (memory_load8_le(mem, 1969bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1970bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1971bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1972bv64) == 99bv8); + free ensures (memory_load8_le(mem, 1973bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1974bv64) == 97bv8); + free ensures (memory_load8_le(mem, 1975bv64) == 114bv8); + free ensures (memory_load8_le(mem, 1976bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1977bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1978bv64) == 115bv8); + free ensures (memory_load8_le(mem, 1979bv64) == 58bv8); + free ensures (memory_load8_le(mem, 1980bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1981bv64) == 37bv8); + free ensures (memory_load8_le(mem, 1982bv64) == 99bv8); + free ensures (memory_load8_le(mem, 1983bv64) == 10bv8); + free ensures (memory_load8_le(mem, 1984bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1985bv64) == 84bv8); + free ensures (memory_load8_le(mem, 1986bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1987bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1988bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1989bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1990bv64) == 110bv8); + free ensures (memory_load8_le(mem, 1991bv64) == 116bv8); + free ensures (memory_load8_le(mem, 1992bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1993bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1994bv64) == 115bv8); + free ensures (memory_load8_le(mem, 1995bv64) == 58bv8); + free ensures (memory_load8_le(mem, 1996bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1997bv64) == 37bv8); + free ensures (memory_load8_le(mem, 1998bv64) == 100bv8); + free ensures (memory_load8_le(mem, 1999bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2000bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2001bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2002bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2003bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2004bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2005bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2006bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2007bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2008bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2009bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2010bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2011bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2012bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2013bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2014bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2015bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2016bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2017bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2018bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2019bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2020bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2021bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2022bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2023bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2024bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -61,6 +156,22 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, stack; + free requires (memory_load8_le(mem, 69672bv64) == 0bv8); + free requires (memory_load8_le(mem, 69673bv64) == 0bv8); + free requires (memory_load8_le(mem, 69674bv64) == 0bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); free requires (memory_load8_le(mem, 1964bv64) == 1bv8); free requires (memory_load8_le(mem, 1965bv64) == 0bv8); free requires (memory_load8_le(mem, 1966bv64) == 2bv8); @@ -125,38 +236,22 @@ procedure main() free requires (memory_load8_le(mem, 2025bv64) == 100bv8); free requires (memory_load8_le(mem, 2026bv64) == 10bv8); free requires (memory_load8_le(mem, 2027bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 84bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -165,22 +260,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 0bv8); - free requires (memory_load8_le(mem, 69673bv64) == 0bv8); - free requires (memory_load8_le(mem, 69674bv64) == 0bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 69680bv64) == 48bv8); free requires (memory_load8_le(mem, 69681bv64) == 16bv8); free requires (memory_load8_le(mem, 69682bv64) == 1bv8); @@ -193,6 +272,102 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1964bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1965bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1966bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1967bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1968bv64) == 84bv8); + free ensures (memory_load8_le(mem, 1969bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1970bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1971bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1972bv64) == 99bv8); + free ensures (memory_load8_le(mem, 1973bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1974bv64) == 97bv8); + free ensures (memory_load8_le(mem, 1975bv64) == 114bv8); + free ensures (memory_load8_le(mem, 1976bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1977bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1978bv64) == 115bv8); + free ensures (memory_load8_le(mem, 1979bv64) == 58bv8); + free ensures (memory_load8_le(mem, 1980bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1981bv64) == 37bv8); + free ensures (memory_load8_le(mem, 1982bv64) == 99bv8); + free ensures (memory_load8_le(mem, 1983bv64) == 10bv8); + free ensures (memory_load8_le(mem, 1984bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1985bv64) == 84bv8); + free ensures (memory_load8_le(mem, 1986bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1987bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1988bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1989bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1990bv64) == 110bv8); + free ensures (memory_load8_le(mem, 1991bv64) == 116bv8); + free ensures (memory_load8_le(mem, 1992bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1993bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1994bv64) == 115bv8); + free ensures (memory_load8_le(mem, 1995bv64) == 58bv8); + free ensures (memory_load8_le(mem, 1996bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1997bv64) == 37bv8); + free ensures (memory_load8_le(mem, 1998bv64) == 100bv8); + free ensures (memory_load8_le(mem, 1999bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2000bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2001bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2002bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2003bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2004bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2005bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2006bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2007bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2008bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2009bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2010bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2011bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2012bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2013bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2014bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2015bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2016bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2017bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2018bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2019bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2020bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2021bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2022bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2023bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2024bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -232,3 +407,195 @@ procedure main() procedure printf(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 1964bv64) == 1bv8); + free requires (memory_load8_le(mem, 1965bv64) == 0bv8); + free requires (memory_load8_le(mem, 1966bv64) == 2bv8); + free requires (memory_load8_le(mem, 1967bv64) == 0bv8); + free requires (memory_load8_le(mem, 1968bv64) == 84bv8); + free requires (memory_load8_le(mem, 1969bv64) == 104bv8); + free requires (memory_load8_le(mem, 1970bv64) == 101bv8); + free requires (memory_load8_le(mem, 1971bv64) == 32bv8); + free requires (memory_load8_le(mem, 1972bv64) == 99bv8); + free requires (memory_load8_le(mem, 1973bv64) == 104bv8); + free requires (memory_load8_le(mem, 1974bv64) == 97bv8); + free requires (memory_load8_le(mem, 1975bv64) == 114bv8); + free requires (memory_load8_le(mem, 1976bv64) == 32bv8); + free requires (memory_load8_le(mem, 1977bv64) == 105bv8); + free requires (memory_load8_le(mem, 1978bv64) == 115bv8); + free requires (memory_load8_le(mem, 1979bv64) == 58bv8); + free requires (memory_load8_le(mem, 1980bv64) == 32bv8); + free requires (memory_load8_le(mem, 1981bv64) == 37bv8); + free requires (memory_load8_le(mem, 1982bv64) == 99bv8); + free requires (memory_load8_le(mem, 1983bv64) == 10bv8); + free requires (memory_load8_le(mem, 1984bv64) == 0bv8); + free requires (memory_load8_le(mem, 1985bv64) == 84bv8); + free requires (memory_load8_le(mem, 1986bv64) == 104bv8); + free requires (memory_load8_le(mem, 1987bv64) == 101bv8); + free requires (memory_load8_le(mem, 1988bv64) == 32bv8); + free requires (memory_load8_le(mem, 1989bv64) == 105bv8); + free requires (memory_load8_le(mem, 1990bv64) == 110bv8); + free requires (memory_load8_le(mem, 1991bv64) == 116bv8); + free requires (memory_load8_le(mem, 1992bv64) == 32bv8); + free requires (memory_load8_le(mem, 1993bv64) == 105bv8); + free requires (memory_load8_le(mem, 1994bv64) == 115bv8); + free requires (memory_load8_le(mem, 1995bv64) == 58bv8); + free requires (memory_load8_le(mem, 1996bv64) == 32bv8); + free requires (memory_load8_le(mem, 1997bv64) == 37bv8); + free requires (memory_load8_le(mem, 1998bv64) == 100bv8); + free requires (memory_load8_le(mem, 1999bv64) == 10bv8); + free requires (memory_load8_le(mem, 2000bv64) == 0bv8); + free requires (memory_load8_le(mem, 2001bv64) == 84bv8); + free requires (memory_load8_le(mem, 2002bv64) == 104bv8); + free requires (memory_load8_le(mem, 2003bv64) == 101bv8); + free requires (memory_load8_le(mem, 2004bv64) == 32bv8); + free requires (memory_load8_le(mem, 2005bv64) == 108bv8); + free requires (memory_load8_le(mem, 2006bv64) == 111bv8); + free requires (memory_load8_le(mem, 2007bv64) == 99bv8); + free requires (memory_load8_le(mem, 2008bv64) == 97bv8); + free requires (memory_load8_le(mem, 2009bv64) == 108bv8); + free requires (memory_load8_le(mem, 2010bv64) == 32bv8); + free requires (memory_load8_le(mem, 2011bv64) == 118bv8); + free requires (memory_load8_le(mem, 2012bv64) == 97bv8); + free requires (memory_load8_le(mem, 2013bv64) == 114bv8); + free requires (memory_load8_le(mem, 2014bv64) == 105bv8); + free requires (memory_load8_le(mem, 2015bv64) == 97bv8); + free requires (memory_load8_le(mem, 2016bv64) == 98bv8); + free requires (memory_load8_le(mem, 2017bv64) == 108bv8); + free requires (memory_load8_le(mem, 2018bv64) == 101bv8); + free requires (memory_load8_le(mem, 2019bv64) == 32bv8); + free requires (memory_load8_le(mem, 2020bv64) == 105bv8); + free requires (memory_load8_le(mem, 2021bv64) == 115bv8); + free requires (memory_load8_le(mem, 2022bv64) == 58bv8); + free requires (memory_load8_le(mem, 2023bv64) == 32bv8); + free requires (memory_load8_le(mem, 2024bv64) == 37bv8); + free requires (memory_load8_le(mem, 2025bv64) == 100bv8); + free requires (memory_load8_le(mem, 2026bv64) == 10bv8); + free requires (memory_load8_le(mem, 2027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 84bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1964bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1965bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1966bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1967bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1968bv64) == 84bv8); + free ensures (memory_load8_le(mem, 1969bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1970bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1971bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1972bv64) == 99bv8); + free ensures (memory_load8_le(mem, 1973bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1974bv64) == 97bv8); + free ensures (memory_load8_le(mem, 1975bv64) == 114bv8); + free ensures (memory_load8_le(mem, 1976bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1977bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1978bv64) == 115bv8); + free ensures (memory_load8_le(mem, 1979bv64) == 58bv8); + free ensures (memory_load8_le(mem, 1980bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1981bv64) == 37bv8); + free ensures (memory_load8_le(mem, 1982bv64) == 99bv8); + free ensures (memory_load8_le(mem, 1983bv64) == 10bv8); + free ensures (memory_load8_le(mem, 1984bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1985bv64) == 84bv8); + free ensures (memory_load8_le(mem, 1986bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1987bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1988bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1989bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1990bv64) == 110bv8); + free ensures (memory_load8_le(mem, 1991bv64) == 116bv8); + free ensures (memory_load8_le(mem, 1992bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1993bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1994bv64) == 115bv8); + free ensures (memory_load8_le(mem, 1995bv64) == 58bv8); + free ensures (memory_load8_le(mem, 1996bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1997bv64) == 37bv8); + free ensures (memory_load8_le(mem, 1998bv64) == 100bv8); + free ensures (memory_load8_le(mem, 1999bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2000bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2001bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2002bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2003bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2004bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2005bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2006bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2007bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2008bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2009bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2010bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2011bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2012bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2013bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2014bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2015bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2016bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2017bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2018bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2019bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2020bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2021bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2022bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2023bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2024bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); diff --git a/src/test/correct/malloc_with_local2/clang_no_plt_no_pic/malloc_with_local2.expected b/src/test/correct/malloc_with_local2/clang_no_plt_no_pic/malloc_with_local2.expected index 1f2c68000..02639e701 100644 --- a/src/test/correct/malloc_with_local2/clang_no_plt_no_pic/malloc_with_local2.expected +++ b/src/test/correct/malloc_with_local2/clang_no_plt_no_pic/malloc_with_local2.expected @@ -79,9 +79,104 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2292bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -99,9 +194,6 @@ procedure guarantee_reflexive(); procedure #free(); modifies Gamma_R16, Gamma_R17, R16, R17; - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 2292bv64) == 1bv8); free requires (memory_load8_le(mem, 2293bv64) == 0bv8); free requires (memory_load8_le(mem, 2294bv64) == 2bv8); @@ -166,38 +258,22 @@ procedure main() free requires (memory_load8_le(mem, 2353bv64) == 100bv8); free requires (memory_load8_le(mem, 2354bv64) == 10bv8); free requires (memory_load8_le(mem, 2355bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 8bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -206,14 +282,113 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 69688bv64) == 0bv8); free requires (memory_load8_le(mem, 69689bv64) == 0bv8); free requires (memory_load8_le(mem, 69690bv64) == 0bv8); @@ -230,10 +405,202 @@ procedure main() free requires (memory_load8_le(mem, 69701bv64) == 0bv8); free requires (memory_load8_le(mem, 69702bv64) == 0bv8); free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free requires (memory_load8_le(mem, 2292bv64) == 1bv8); + free requires (memory_load8_le(mem, 2293bv64) == 0bv8); + free requires (memory_load8_le(mem, 2294bv64) == 2bv8); + free requires (memory_load8_le(mem, 2295bv64) == 0bv8); + free requires (memory_load8_le(mem, 2296bv64) == 84bv8); + free requires (memory_load8_le(mem, 2297bv64) == 104bv8); + free requires (memory_load8_le(mem, 2298bv64) == 101bv8); + free requires (memory_load8_le(mem, 2299bv64) == 32bv8); + free requires (memory_load8_le(mem, 2300bv64) == 99bv8); + free requires (memory_load8_le(mem, 2301bv64) == 104bv8); + free requires (memory_load8_le(mem, 2302bv64) == 97bv8); + free requires (memory_load8_le(mem, 2303bv64) == 114bv8); + free requires (memory_load8_le(mem, 2304bv64) == 32bv8); + free requires (memory_load8_le(mem, 2305bv64) == 105bv8); + free requires (memory_load8_le(mem, 2306bv64) == 115bv8); + free requires (memory_load8_le(mem, 2307bv64) == 58bv8); + free requires (memory_load8_le(mem, 2308bv64) == 32bv8); + free requires (memory_load8_le(mem, 2309bv64) == 37bv8); + free requires (memory_load8_le(mem, 2310bv64) == 99bv8); + free requires (memory_load8_le(mem, 2311bv64) == 10bv8); + free requires (memory_load8_le(mem, 2312bv64) == 0bv8); + free requires (memory_load8_le(mem, 2313bv64) == 84bv8); + free requires (memory_load8_le(mem, 2314bv64) == 104bv8); + free requires (memory_load8_le(mem, 2315bv64) == 101bv8); + free requires (memory_load8_le(mem, 2316bv64) == 32bv8); + free requires (memory_load8_le(mem, 2317bv64) == 105bv8); + free requires (memory_load8_le(mem, 2318bv64) == 110bv8); + free requires (memory_load8_le(mem, 2319bv64) == 116bv8); + free requires (memory_load8_le(mem, 2320bv64) == 32bv8); + free requires (memory_load8_le(mem, 2321bv64) == 105bv8); + free requires (memory_load8_le(mem, 2322bv64) == 115bv8); + free requires (memory_load8_le(mem, 2323bv64) == 58bv8); + free requires (memory_load8_le(mem, 2324bv64) == 32bv8); + free requires (memory_load8_le(mem, 2325bv64) == 37bv8); + free requires (memory_load8_le(mem, 2326bv64) == 100bv8); + free requires (memory_load8_le(mem, 2327bv64) == 10bv8); + free requires (memory_load8_le(mem, 2328bv64) == 0bv8); + free requires (memory_load8_le(mem, 2329bv64) == 84bv8); + free requires (memory_load8_le(mem, 2330bv64) == 104bv8); + free requires (memory_load8_le(mem, 2331bv64) == 101bv8); + free requires (memory_load8_le(mem, 2332bv64) == 32bv8); + free requires (memory_load8_le(mem, 2333bv64) == 108bv8); + free requires (memory_load8_le(mem, 2334bv64) == 111bv8); + free requires (memory_load8_le(mem, 2335bv64) == 99bv8); + free requires (memory_load8_le(mem, 2336bv64) == 97bv8); + free requires (memory_load8_le(mem, 2337bv64) == 108bv8); + free requires (memory_load8_le(mem, 2338bv64) == 32bv8); + free requires (memory_load8_le(mem, 2339bv64) == 118bv8); + free requires (memory_load8_le(mem, 2340bv64) == 97bv8); + free requires (memory_load8_le(mem, 2341bv64) == 114bv8); + free requires (memory_load8_le(mem, 2342bv64) == 105bv8); + free requires (memory_load8_le(mem, 2343bv64) == 97bv8); + free requires (memory_load8_le(mem, 2344bv64) == 98bv8); + free requires (memory_load8_le(mem, 2345bv64) == 108bv8); + free requires (memory_load8_le(mem, 2346bv64) == 101bv8); + free requires (memory_load8_le(mem, 2347bv64) == 32bv8); + free requires (memory_load8_le(mem, 2348bv64) == 105bv8); + free requires (memory_load8_le(mem, 2349bv64) == 115bv8); + free requires (memory_load8_le(mem, 2350bv64) == 58bv8); + free requires (memory_load8_le(mem, 2351bv64) == 32bv8); + free requires (memory_load8_le(mem, 2352bv64) == 37bv8); + free requires (memory_load8_le(mem, 2353bv64) == 100bv8); + free requires (memory_load8_le(mem, 2354bv64) == 10bv8); + free requires (memory_load8_le(mem, 2355bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2292bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); { var #4: bv64; var #5: bv64; @@ -327,6 +694,390 @@ procedure main() procedure malloc(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2292bv64) == 1bv8); + free requires (memory_load8_le(mem, 2293bv64) == 0bv8); + free requires (memory_load8_le(mem, 2294bv64) == 2bv8); + free requires (memory_load8_le(mem, 2295bv64) == 0bv8); + free requires (memory_load8_le(mem, 2296bv64) == 84bv8); + free requires (memory_load8_le(mem, 2297bv64) == 104bv8); + free requires (memory_load8_le(mem, 2298bv64) == 101bv8); + free requires (memory_load8_le(mem, 2299bv64) == 32bv8); + free requires (memory_load8_le(mem, 2300bv64) == 99bv8); + free requires (memory_load8_le(mem, 2301bv64) == 104bv8); + free requires (memory_load8_le(mem, 2302bv64) == 97bv8); + free requires (memory_load8_le(mem, 2303bv64) == 114bv8); + free requires (memory_load8_le(mem, 2304bv64) == 32bv8); + free requires (memory_load8_le(mem, 2305bv64) == 105bv8); + free requires (memory_load8_le(mem, 2306bv64) == 115bv8); + free requires (memory_load8_le(mem, 2307bv64) == 58bv8); + free requires (memory_load8_le(mem, 2308bv64) == 32bv8); + free requires (memory_load8_le(mem, 2309bv64) == 37bv8); + free requires (memory_load8_le(mem, 2310bv64) == 99bv8); + free requires (memory_load8_le(mem, 2311bv64) == 10bv8); + free requires (memory_load8_le(mem, 2312bv64) == 0bv8); + free requires (memory_load8_le(mem, 2313bv64) == 84bv8); + free requires (memory_load8_le(mem, 2314bv64) == 104bv8); + free requires (memory_load8_le(mem, 2315bv64) == 101bv8); + free requires (memory_load8_le(mem, 2316bv64) == 32bv8); + free requires (memory_load8_le(mem, 2317bv64) == 105bv8); + free requires (memory_load8_le(mem, 2318bv64) == 110bv8); + free requires (memory_load8_le(mem, 2319bv64) == 116bv8); + free requires (memory_load8_le(mem, 2320bv64) == 32bv8); + free requires (memory_load8_le(mem, 2321bv64) == 105bv8); + free requires (memory_load8_le(mem, 2322bv64) == 115bv8); + free requires (memory_load8_le(mem, 2323bv64) == 58bv8); + free requires (memory_load8_le(mem, 2324bv64) == 32bv8); + free requires (memory_load8_le(mem, 2325bv64) == 37bv8); + free requires (memory_load8_le(mem, 2326bv64) == 100bv8); + free requires (memory_load8_le(mem, 2327bv64) == 10bv8); + free requires (memory_load8_le(mem, 2328bv64) == 0bv8); + free requires (memory_load8_le(mem, 2329bv64) == 84bv8); + free requires (memory_load8_le(mem, 2330bv64) == 104bv8); + free requires (memory_load8_le(mem, 2331bv64) == 101bv8); + free requires (memory_load8_le(mem, 2332bv64) == 32bv8); + free requires (memory_load8_le(mem, 2333bv64) == 108bv8); + free requires (memory_load8_le(mem, 2334bv64) == 111bv8); + free requires (memory_load8_le(mem, 2335bv64) == 99bv8); + free requires (memory_load8_le(mem, 2336bv64) == 97bv8); + free requires (memory_load8_le(mem, 2337bv64) == 108bv8); + free requires (memory_load8_le(mem, 2338bv64) == 32bv8); + free requires (memory_load8_le(mem, 2339bv64) == 118bv8); + free requires (memory_load8_le(mem, 2340bv64) == 97bv8); + free requires (memory_load8_le(mem, 2341bv64) == 114bv8); + free requires (memory_load8_le(mem, 2342bv64) == 105bv8); + free requires (memory_load8_le(mem, 2343bv64) == 97bv8); + free requires (memory_load8_le(mem, 2344bv64) == 98bv8); + free requires (memory_load8_le(mem, 2345bv64) == 108bv8); + free requires (memory_load8_le(mem, 2346bv64) == 101bv8); + free requires (memory_load8_le(mem, 2347bv64) == 32bv8); + free requires (memory_load8_le(mem, 2348bv64) == 105bv8); + free requires (memory_load8_le(mem, 2349bv64) == 115bv8); + free requires (memory_load8_le(mem, 2350bv64) == 58bv8); + free requires (memory_load8_le(mem, 2351bv64) == 32bv8); + free requires (memory_load8_le(mem, 2352bv64) == 37bv8); + free requires (memory_load8_le(mem, 2353bv64) == 100bv8); + free requires (memory_load8_le(mem, 2354bv64) == 10bv8); + free requires (memory_load8_le(mem, 2355bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure printf(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2292bv64) == 1bv8); + free requires (memory_load8_le(mem, 2293bv64) == 0bv8); + free requires (memory_load8_le(mem, 2294bv64) == 2bv8); + free requires (memory_load8_le(mem, 2295bv64) == 0bv8); + free requires (memory_load8_le(mem, 2296bv64) == 84bv8); + free requires (memory_load8_le(mem, 2297bv64) == 104bv8); + free requires (memory_load8_le(mem, 2298bv64) == 101bv8); + free requires (memory_load8_le(mem, 2299bv64) == 32bv8); + free requires (memory_load8_le(mem, 2300bv64) == 99bv8); + free requires (memory_load8_le(mem, 2301bv64) == 104bv8); + free requires (memory_load8_le(mem, 2302bv64) == 97bv8); + free requires (memory_load8_le(mem, 2303bv64) == 114bv8); + free requires (memory_load8_le(mem, 2304bv64) == 32bv8); + free requires (memory_load8_le(mem, 2305bv64) == 105bv8); + free requires (memory_load8_le(mem, 2306bv64) == 115bv8); + free requires (memory_load8_le(mem, 2307bv64) == 58bv8); + free requires (memory_load8_le(mem, 2308bv64) == 32bv8); + free requires (memory_load8_le(mem, 2309bv64) == 37bv8); + free requires (memory_load8_le(mem, 2310bv64) == 99bv8); + free requires (memory_load8_le(mem, 2311bv64) == 10bv8); + free requires (memory_load8_le(mem, 2312bv64) == 0bv8); + free requires (memory_load8_le(mem, 2313bv64) == 84bv8); + free requires (memory_load8_le(mem, 2314bv64) == 104bv8); + free requires (memory_load8_le(mem, 2315bv64) == 101bv8); + free requires (memory_load8_le(mem, 2316bv64) == 32bv8); + free requires (memory_load8_le(mem, 2317bv64) == 105bv8); + free requires (memory_load8_le(mem, 2318bv64) == 110bv8); + free requires (memory_load8_le(mem, 2319bv64) == 116bv8); + free requires (memory_load8_le(mem, 2320bv64) == 32bv8); + free requires (memory_load8_le(mem, 2321bv64) == 105bv8); + free requires (memory_load8_le(mem, 2322bv64) == 115bv8); + free requires (memory_load8_le(mem, 2323bv64) == 58bv8); + free requires (memory_load8_le(mem, 2324bv64) == 32bv8); + free requires (memory_load8_le(mem, 2325bv64) == 37bv8); + free requires (memory_load8_le(mem, 2326bv64) == 100bv8); + free requires (memory_load8_le(mem, 2327bv64) == 10bv8); + free requires (memory_load8_le(mem, 2328bv64) == 0bv8); + free requires (memory_load8_le(mem, 2329bv64) == 84bv8); + free requires (memory_load8_le(mem, 2330bv64) == 104bv8); + free requires (memory_load8_le(mem, 2331bv64) == 101bv8); + free requires (memory_load8_le(mem, 2332bv64) == 32bv8); + free requires (memory_load8_le(mem, 2333bv64) == 108bv8); + free requires (memory_load8_le(mem, 2334bv64) == 111bv8); + free requires (memory_load8_le(mem, 2335bv64) == 99bv8); + free requires (memory_load8_le(mem, 2336bv64) == 97bv8); + free requires (memory_load8_le(mem, 2337bv64) == 108bv8); + free requires (memory_load8_le(mem, 2338bv64) == 32bv8); + free requires (memory_load8_le(mem, 2339bv64) == 118bv8); + free requires (memory_load8_le(mem, 2340bv64) == 97bv8); + free requires (memory_load8_le(mem, 2341bv64) == 114bv8); + free requires (memory_load8_le(mem, 2342bv64) == 105bv8); + free requires (memory_load8_le(mem, 2343bv64) == 97bv8); + free requires (memory_load8_le(mem, 2344bv64) == 98bv8); + free requires (memory_load8_le(mem, 2345bv64) == 108bv8); + free requires (memory_load8_le(mem, 2346bv64) == 101bv8); + free requires (memory_load8_le(mem, 2347bv64) == 32bv8); + free requires (memory_load8_le(mem, 2348bv64) == 105bv8); + free requires (memory_load8_le(mem, 2349bv64) == 115bv8); + free requires (memory_load8_le(mem, 2350bv64) == 58bv8); + free requires (memory_load8_le(mem, 2351bv64) == 32bv8); + free requires (memory_load8_le(mem, 2352bv64) == 37bv8); + free requires (memory_load8_le(mem, 2353bv64) == 100bv8); + free requires (memory_load8_le(mem, 2354bv64) == 10bv8); + free requires (memory_load8_le(mem, 2355bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); diff --git a/src/test/correct/malloc_with_local2/clang_pic/malloc_with_local2.expected b/src/test/correct/malloc_with_local2/clang_pic/malloc_with_local2.expected index 1f2c68000..02639e701 100644 --- a/src/test/correct/malloc_with_local2/clang_pic/malloc_with_local2.expected +++ b/src/test/correct/malloc_with_local2/clang_pic/malloc_with_local2.expected @@ -79,9 +79,104 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2292bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -99,9 +194,6 @@ procedure guarantee_reflexive(); procedure #free(); modifies Gamma_R16, Gamma_R17, R16, R17; - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 2292bv64) == 1bv8); free requires (memory_load8_le(mem, 2293bv64) == 0bv8); free requires (memory_load8_le(mem, 2294bv64) == 2bv8); @@ -166,38 +258,22 @@ procedure main() free requires (memory_load8_le(mem, 2353bv64) == 100bv8); free requires (memory_load8_le(mem, 2354bv64) == 10bv8); free requires (memory_load8_le(mem, 2355bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 8bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -206,14 +282,113 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 69688bv64) == 0bv8); free requires (memory_load8_le(mem, 69689bv64) == 0bv8); free requires (memory_load8_le(mem, 69690bv64) == 0bv8); @@ -230,10 +405,202 @@ procedure main() free requires (memory_load8_le(mem, 69701bv64) == 0bv8); free requires (memory_load8_le(mem, 69702bv64) == 0bv8); free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free requires (memory_load8_le(mem, 2292bv64) == 1bv8); + free requires (memory_load8_le(mem, 2293bv64) == 0bv8); + free requires (memory_load8_le(mem, 2294bv64) == 2bv8); + free requires (memory_load8_le(mem, 2295bv64) == 0bv8); + free requires (memory_load8_le(mem, 2296bv64) == 84bv8); + free requires (memory_load8_le(mem, 2297bv64) == 104bv8); + free requires (memory_load8_le(mem, 2298bv64) == 101bv8); + free requires (memory_load8_le(mem, 2299bv64) == 32bv8); + free requires (memory_load8_le(mem, 2300bv64) == 99bv8); + free requires (memory_load8_le(mem, 2301bv64) == 104bv8); + free requires (memory_load8_le(mem, 2302bv64) == 97bv8); + free requires (memory_load8_le(mem, 2303bv64) == 114bv8); + free requires (memory_load8_le(mem, 2304bv64) == 32bv8); + free requires (memory_load8_le(mem, 2305bv64) == 105bv8); + free requires (memory_load8_le(mem, 2306bv64) == 115bv8); + free requires (memory_load8_le(mem, 2307bv64) == 58bv8); + free requires (memory_load8_le(mem, 2308bv64) == 32bv8); + free requires (memory_load8_le(mem, 2309bv64) == 37bv8); + free requires (memory_load8_le(mem, 2310bv64) == 99bv8); + free requires (memory_load8_le(mem, 2311bv64) == 10bv8); + free requires (memory_load8_le(mem, 2312bv64) == 0bv8); + free requires (memory_load8_le(mem, 2313bv64) == 84bv8); + free requires (memory_load8_le(mem, 2314bv64) == 104bv8); + free requires (memory_load8_le(mem, 2315bv64) == 101bv8); + free requires (memory_load8_le(mem, 2316bv64) == 32bv8); + free requires (memory_load8_le(mem, 2317bv64) == 105bv8); + free requires (memory_load8_le(mem, 2318bv64) == 110bv8); + free requires (memory_load8_le(mem, 2319bv64) == 116bv8); + free requires (memory_load8_le(mem, 2320bv64) == 32bv8); + free requires (memory_load8_le(mem, 2321bv64) == 105bv8); + free requires (memory_load8_le(mem, 2322bv64) == 115bv8); + free requires (memory_load8_le(mem, 2323bv64) == 58bv8); + free requires (memory_load8_le(mem, 2324bv64) == 32bv8); + free requires (memory_load8_le(mem, 2325bv64) == 37bv8); + free requires (memory_load8_le(mem, 2326bv64) == 100bv8); + free requires (memory_load8_le(mem, 2327bv64) == 10bv8); + free requires (memory_load8_le(mem, 2328bv64) == 0bv8); + free requires (memory_load8_le(mem, 2329bv64) == 84bv8); + free requires (memory_load8_le(mem, 2330bv64) == 104bv8); + free requires (memory_load8_le(mem, 2331bv64) == 101bv8); + free requires (memory_load8_le(mem, 2332bv64) == 32bv8); + free requires (memory_load8_le(mem, 2333bv64) == 108bv8); + free requires (memory_load8_le(mem, 2334bv64) == 111bv8); + free requires (memory_load8_le(mem, 2335bv64) == 99bv8); + free requires (memory_load8_le(mem, 2336bv64) == 97bv8); + free requires (memory_load8_le(mem, 2337bv64) == 108bv8); + free requires (memory_load8_le(mem, 2338bv64) == 32bv8); + free requires (memory_load8_le(mem, 2339bv64) == 118bv8); + free requires (memory_load8_le(mem, 2340bv64) == 97bv8); + free requires (memory_load8_le(mem, 2341bv64) == 114bv8); + free requires (memory_load8_le(mem, 2342bv64) == 105bv8); + free requires (memory_load8_le(mem, 2343bv64) == 97bv8); + free requires (memory_load8_le(mem, 2344bv64) == 98bv8); + free requires (memory_load8_le(mem, 2345bv64) == 108bv8); + free requires (memory_load8_le(mem, 2346bv64) == 101bv8); + free requires (memory_load8_le(mem, 2347bv64) == 32bv8); + free requires (memory_load8_le(mem, 2348bv64) == 105bv8); + free requires (memory_load8_le(mem, 2349bv64) == 115bv8); + free requires (memory_load8_le(mem, 2350bv64) == 58bv8); + free requires (memory_load8_le(mem, 2351bv64) == 32bv8); + free requires (memory_load8_le(mem, 2352bv64) == 37bv8); + free requires (memory_load8_le(mem, 2353bv64) == 100bv8); + free requires (memory_load8_le(mem, 2354bv64) == 10bv8); + free requires (memory_load8_le(mem, 2355bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2292bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); { var #4: bv64; var #5: bv64; @@ -327,6 +694,390 @@ procedure main() procedure malloc(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2292bv64) == 1bv8); + free requires (memory_load8_le(mem, 2293bv64) == 0bv8); + free requires (memory_load8_le(mem, 2294bv64) == 2bv8); + free requires (memory_load8_le(mem, 2295bv64) == 0bv8); + free requires (memory_load8_le(mem, 2296bv64) == 84bv8); + free requires (memory_load8_le(mem, 2297bv64) == 104bv8); + free requires (memory_load8_le(mem, 2298bv64) == 101bv8); + free requires (memory_load8_le(mem, 2299bv64) == 32bv8); + free requires (memory_load8_le(mem, 2300bv64) == 99bv8); + free requires (memory_load8_le(mem, 2301bv64) == 104bv8); + free requires (memory_load8_le(mem, 2302bv64) == 97bv8); + free requires (memory_load8_le(mem, 2303bv64) == 114bv8); + free requires (memory_load8_le(mem, 2304bv64) == 32bv8); + free requires (memory_load8_le(mem, 2305bv64) == 105bv8); + free requires (memory_load8_le(mem, 2306bv64) == 115bv8); + free requires (memory_load8_le(mem, 2307bv64) == 58bv8); + free requires (memory_load8_le(mem, 2308bv64) == 32bv8); + free requires (memory_load8_le(mem, 2309bv64) == 37bv8); + free requires (memory_load8_le(mem, 2310bv64) == 99bv8); + free requires (memory_load8_le(mem, 2311bv64) == 10bv8); + free requires (memory_load8_le(mem, 2312bv64) == 0bv8); + free requires (memory_load8_le(mem, 2313bv64) == 84bv8); + free requires (memory_load8_le(mem, 2314bv64) == 104bv8); + free requires (memory_load8_le(mem, 2315bv64) == 101bv8); + free requires (memory_load8_le(mem, 2316bv64) == 32bv8); + free requires (memory_load8_le(mem, 2317bv64) == 105bv8); + free requires (memory_load8_le(mem, 2318bv64) == 110bv8); + free requires (memory_load8_le(mem, 2319bv64) == 116bv8); + free requires (memory_load8_le(mem, 2320bv64) == 32bv8); + free requires (memory_load8_le(mem, 2321bv64) == 105bv8); + free requires (memory_load8_le(mem, 2322bv64) == 115bv8); + free requires (memory_load8_le(mem, 2323bv64) == 58bv8); + free requires (memory_load8_le(mem, 2324bv64) == 32bv8); + free requires (memory_load8_le(mem, 2325bv64) == 37bv8); + free requires (memory_load8_le(mem, 2326bv64) == 100bv8); + free requires (memory_load8_le(mem, 2327bv64) == 10bv8); + free requires (memory_load8_le(mem, 2328bv64) == 0bv8); + free requires (memory_load8_le(mem, 2329bv64) == 84bv8); + free requires (memory_load8_le(mem, 2330bv64) == 104bv8); + free requires (memory_load8_le(mem, 2331bv64) == 101bv8); + free requires (memory_load8_le(mem, 2332bv64) == 32bv8); + free requires (memory_load8_le(mem, 2333bv64) == 108bv8); + free requires (memory_load8_le(mem, 2334bv64) == 111bv8); + free requires (memory_load8_le(mem, 2335bv64) == 99bv8); + free requires (memory_load8_le(mem, 2336bv64) == 97bv8); + free requires (memory_load8_le(mem, 2337bv64) == 108bv8); + free requires (memory_load8_le(mem, 2338bv64) == 32bv8); + free requires (memory_load8_le(mem, 2339bv64) == 118bv8); + free requires (memory_load8_le(mem, 2340bv64) == 97bv8); + free requires (memory_load8_le(mem, 2341bv64) == 114bv8); + free requires (memory_load8_le(mem, 2342bv64) == 105bv8); + free requires (memory_load8_le(mem, 2343bv64) == 97bv8); + free requires (memory_load8_le(mem, 2344bv64) == 98bv8); + free requires (memory_load8_le(mem, 2345bv64) == 108bv8); + free requires (memory_load8_le(mem, 2346bv64) == 101bv8); + free requires (memory_load8_le(mem, 2347bv64) == 32bv8); + free requires (memory_load8_le(mem, 2348bv64) == 105bv8); + free requires (memory_load8_le(mem, 2349bv64) == 115bv8); + free requires (memory_load8_le(mem, 2350bv64) == 58bv8); + free requires (memory_load8_le(mem, 2351bv64) == 32bv8); + free requires (memory_load8_le(mem, 2352bv64) == 37bv8); + free requires (memory_load8_le(mem, 2353bv64) == 100bv8); + free requires (memory_load8_le(mem, 2354bv64) == 10bv8); + free requires (memory_load8_le(mem, 2355bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure printf(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2292bv64) == 1bv8); + free requires (memory_load8_le(mem, 2293bv64) == 0bv8); + free requires (memory_load8_le(mem, 2294bv64) == 2bv8); + free requires (memory_load8_le(mem, 2295bv64) == 0bv8); + free requires (memory_load8_le(mem, 2296bv64) == 84bv8); + free requires (memory_load8_le(mem, 2297bv64) == 104bv8); + free requires (memory_load8_le(mem, 2298bv64) == 101bv8); + free requires (memory_load8_le(mem, 2299bv64) == 32bv8); + free requires (memory_load8_le(mem, 2300bv64) == 99bv8); + free requires (memory_load8_le(mem, 2301bv64) == 104bv8); + free requires (memory_load8_le(mem, 2302bv64) == 97bv8); + free requires (memory_load8_le(mem, 2303bv64) == 114bv8); + free requires (memory_load8_le(mem, 2304bv64) == 32bv8); + free requires (memory_load8_le(mem, 2305bv64) == 105bv8); + free requires (memory_load8_le(mem, 2306bv64) == 115bv8); + free requires (memory_load8_le(mem, 2307bv64) == 58bv8); + free requires (memory_load8_le(mem, 2308bv64) == 32bv8); + free requires (memory_load8_le(mem, 2309bv64) == 37bv8); + free requires (memory_load8_le(mem, 2310bv64) == 99bv8); + free requires (memory_load8_le(mem, 2311bv64) == 10bv8); + free requires (memory_load8_le(mem, 2312bv64) == 0bv8); + free requires (memory_load8_le(mem, 2313bv64) == 84bv8); + free requires (memory_load8_le(mem, 2314bv64) == 104bv8); + free requires (memory_load8_le(mem, 2315bv64) == 101bv8); + free requires (memory_load8_le(mem, 2316bv64) == 32bv8); + free requires (memory_load8_le(mem, 2317bv64) == 105bv8); + free requires (memory_load8_le(mem, 2318bv64) == 110bv8); + free requires (memory_load8_le(mem, 2319bv64) == 116bv8); + free requires (memory_load8_le(mem, 2320bv64) == 32bv8); + free requires (memory_load8_le(mem, 2321bv64) == 105bv8); + free requires (memory_load8_le(mem, 2322bv64) == 115bv8); + free requires (memory_load8_le(mem, 2323bv64) == 58bv8); + free requires (memory_load8_le(mem, 2324bv64) == 32bv8); + free requires (memory_load8_le(mem, 2325bv64) == 37bv8); + free requires (memory_load8_le(mem, 2326bv64) == 100bv8); + free requires (memory_load8_le(mem, 2327bv64) == 10bv8); + free requires (memory_load8_le(mem, 2328bv64) == 0bv8); + free requires (memory_load8_le(mem, 2329bv64) == 84bv8); + free requires (memory_load8_le(mem, 2330bv64) == 104bv8); + free requires (memory_load8_le(mem, 2331bv64) == 101bv8); + free requires (memory_load8_le(mem, 2332bv64) == 32bv8); + free requires (memory_load8_le(mem, 2333bv64) == 108bv8); + free requires (memory_load8_le(mem, 2334bv64) == 111bv8); + free requires (memory_load8_le(mem, 2335bv64) == 99bv8); + free requires (memory_load8_le(mem, 2336bv64) == 97bv8); + free requires (memory_load8_le(mem, 2337bv64) == 108bv8); + free requires (memory_load8_le(mem, 2338bv64) == 32bv8); + free requires (memory_load8_le(mem, 2339bv64) == 118bv8); + free requires (memory_load8_le(mem, 2340bv64) == 97bv8); + free requires (memory_load8_le(mem, 2341bv64) == 114bv8); + free requires (memory_load8_le(mem, 2342bv64) == 105bv8); + free requires (memory_load8_le(mem, 2343bv64) == 97bv8); + free requires (memory_load8_le(mem, 2344bv64) == 98bv8); + free requires (memory_load8_le(mem, 2345bv64) == 108bv8); + free requires (memory_load8_le(mem, 2346bv64) == 101bv8); + free requires (memory_load8_le(mem, 2347bv64) == 32bv8); + free requires (memory_load8_le(mem, 2348bv64) == 105bv8); + free requires (memory_load8_le(mem, 2349bv64) == 115bv8); + free requires (memory_load8_le(mem, 2350bv64) == 58bv8); + free requires (memory_load8_le(mem, 2351bv64) == 32bv8); + free requires (memory_load8_le(mem, 2352bv64) == 37bv8); + free requires (memory_load8_le(mem, 2353bv64) == 100bv8); + free requires (memory_load8_le(mem, 2354bv64) == 10bv8); + free requires (memory_load8_le(mem, 2355bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); diff --git a/src/test/correct/malloc_with_local2/gcc/malloc_with_local2.expected b/src/test/correct/malloc_with_local2/gcc/malloc_with_local2.expected index 28dd8b449..45c77cff4 100644 --- a/src/test/correct/malloc_with_local2/gcc/malloc_with_local2.expected +++ b/src/test/correct/malloc_with_local2/gcc/malloc_with_local2.expected @@ -75,9 +75,115 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2272bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -95,9 +201,6 @@ procedure guarantee_reflexive(); procedure #free(); modifies Gamma_R16, Gamma_R17, R16, R17; - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 2272bv64) == 1bv8); free requires (memory_load8_le(mem, 2273bv64) == 0bv8); free requires (memory_load8_le(mem, 2274bv64) == 2bv8); @@ -173,118 +276,22 @@ procedure main() free requires (memory_load8_le(mem, 2344bv64) == 100bv8); free requires (memory_load8_le(mem, 2345bv64) == 10bv8); free requires (memory_load8_le(mem, 2346bv64) == 0bv8); - free requires (memory_load8_le(mem, 69504bv64) == 0bv8); - free requires (memory_load8_le(mem, 69505bv64) == 0bv8); - free requires (memory_load8_le(mem, 69506bv64) == 0bv8); - free requires (memory_load8_le(mem, 69507bv64) == 0bv8); - free requires (memory_load8_le(mem, 69508bv64) == 0bv8); - free requires (memory_load8_le(mem, 69509bv64) == 0bv8); - free requires (memory_load8_le(mem, 69510bv64) == 0bv8); - free requires (memory_load8_le(mem, 69511bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 64bv8); - free requires (memory_load8_le(mem, 69529bv64) == 6bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 64bv8); - free requires (memory_load8_le(mem, 69537bv64) == 6bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 64bv8); - free requires (memory_load8_le(mem, 69545bv64) == 6bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 64bv8); - free requires (memory_load8_le(mem, 69553bv64) == 6bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 64bv8); - free requires (memory_load8_le(mem, 69561bv64) == 6bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 64bv8); - free requires (memory_load8_le(mem, 69569bv64) == 6bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 64bv8); - free requires (memory_load8_le(mem, 69577bv64) == 6bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 144bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 8bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -293,14 +300,124 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -317,10 +434,224 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 2272bv64) == 1bv8); + free requires (memory_load8_le(mem, 2273bv64) == 0bv8); + free requires (memory_load8_le(mem, 2274bv64) == 2bv8); + free requires (memory_load8_le(mem, 2275bv64) == 0bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 0bv8); + free requires (memory_load8_le(mem, 2278bv64) == 0bv8); + free requires (memory_load8_le(mem, 2279bv64) == 0bv8); + free requires (memory_load8_le(mem, 2280bv64) == 84bv8); + free requires (memory_load8_le(mem, 2281bv64) == 104bv8); + free requires (memory_load8_le(mem, 2282bv64) == 101bv8); + free requires (memory_load8_le(mem, 2283bv64) == 32bv8); + free requires (memory_load8_le(mem, 2284bv64) == 99bv8); + free requires (memory_load8_le(mem, 2285bv64) == 104bv8); + free requires (memory_load8_le(mem, 2286bv64) == 97bv8); + free requires (memory_load8_le(mem, 2287bv64) == 114bv8); + free requires (memory_load8_le(mem, 2288bv64) == 32bv8); + free requires (memory_load8_le(mem, 2289bv64) == 105bv8); + free requires (memory_load8_le(mem, 2290bv64) == 115bv8); + free requires (memory_load8_le(mem, 2291bv64) == 58bv8); + free requires (memory_load8_le(mem, 2292bv64) == 32bv8); + free requires (memory_load8_le(mem, 2293bv64) == 37bv8); + free requires (memory_load8_le(mem, 2294bv64) == 99bv8); + free requires (memory_load8_le(mem, 2295bv64) == 10bv8); + free requires (memory_load8_le(mem, 2296bv64) == 0bv8); + free requires (memory_load8_le(mem, 2297bv64) == 0bv8); + free requires (memory_load8_le(mem, 2298bv64) == 0bv8); + free requires (memory_load8_le(mem, 2299bv64) == 0bv8); + free requires (memory_load8_le(mem, 2300bv64) == 0bv8); + free requires (memory_load8_le(mem, 2301bv64) == 0bv8); + free requires (memory_load8_le(mem, 2302bv64) == 0bv8); + free requires (memory_load8_le(mem, 2303bv64) == 0bv8); + free requires (memory_load8_le(mem, 2304bv64) == 84bv8); + free requires (memory_load8_le(mem, 2305bv64) == 104bv8); + free requires (memory_load8_le(mem, 2306bv64) == 101bv8); + free requires (memory_load8_le(mem, 2307bv64) == 32bv8); + free requires (memory_load8_le(mem, 2308bv64) == 105bv8); + free requires (memory_load8_le(mem, 2309bv64) == 110bv8); + free requires (memory_load8_le(mem, 2310bv64) == 116bv8); + free requires (memory_load8_le(mem, 2311bv64) == 32bv8); + free requires (memory_load8_le(mem, 2312bv64) == 105bv8); + free requires (memory_load8_le(mem, 2313bv64) == 115bv8); + free requires (memory_load8_le(mem, 2314bv64) == 58bv8); + free requires (memory_load8_le(mem, 2315bv64) == 32bv8); + free requires (memory_load8_le(mem, 2316bv64) == 37bv8); + free requires (memory_load8_le(mem, 2317bv64) == 100bv8); + free requires (memory_load8_le(mem, 2318bv64) == 10bv8); + free requires (memory_load8_le(mem, 2319bv64) == 0bv8); + free requires (memory_load8_le(mem, 2320bv64) == 84bv8); + free requires (memory_load8_le(mem, 2321bv64) == 104bv8); + free requires (memory_load8_le(mem, 2322bv64) == 101bv8); + free requires (memory_load8_le(mem, 2323bv64) == 32bv8); + free requires (memory_load8_le(mem, 2324bv64) == 108bv8); + free requires (memory_load8_le(mem, 2325bv64) == 111bv8); + free requires (memory_load8_le(mem, 2326bv64) == 99bv8); + free requires (memory_load8_le(mem, 2327bv64) == 97bv8); + free requires (memory_load8_le(mem, 2328bv64) == 108bv8); + free requires (memory_load8_le(mem, 2329bv64) == 32bv8); + free requires (memory_load8_le(mem, 2330bv64) == 118bv8); + free requires (memory_load8_le(mem, 2331bv64) == 97bv8); + free requires (memory_load8_le(mem, 2332bv64) == 114bv8); + free requires (memory_load8_le(mem, 2333bv64) == 105bv8); + free requires (memory_load8_le(mem, 2334bv64) == 97bv8); + free requires (memory_load8_le(mem, 2335bv64) == 98bv8); + free requires (memory_load8_le(mem, 2336bv64) == 108bv8); + free requires (memory_load8_le(mem, 2337bv64) == 101bv8); + free requires (memory_load8_le(mem, 2338bv64) == 32bv8); + free requires (memory_load8_le(mem, 2339bv64) == 105bv8); + free requires (memory_load8_le(mem, 2340bv64) == 115bv8); + free requires (memory_load8_le(mem, 2341bv64) == 58bv8); + free requires (memory_load8_le(mem, 2342bv64) == 32bv8); + free requires (memory_load8_le(mem, 2343bv64) == 37bv8); + free requires (memory_load8_le(mem, 2344bv64) == 100bv8); + free requires (memory_load8_le(mem, 2345bv64) == 10bv8); + free requires (memory_load8_le(mem, 2346bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2272bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -408,6 +739,434 @@ procedure main() procedure malloc(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2272bv64) == 1bv8); + free requires (memory_load8_le(mem, 2273bv64) == 0bv8); + free requires (memory_load8_le(mem, 2274bv64) == 2bv8); + free requires (memory_load8_le(mem, 2275bv64) == 0bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 0bv8); + free requires (memory_load8_le(mem, 2278bv64) == 0bv8); + free requires (memory_load8_le(mem, 2279bv64) == 0bv8); + free requires (memory_load8_le(mem, 2280bv64) == 84bv8); + free requires (memory_load8_le(mem, 2281bv64) == 104bv8); + free requires (memory_load8_le(mem, 2282bv64) == 101bv8); + free requires (memory_load8_le(mem, 2283bv64) == 32bv8); + free requires (memory_load8_le(mem, 2284bv64) == 99bv8); + free requires (memory_load8_le(mem, 2285bv64) == 104bv8); + free requires (memory_load8_le(mem, 2286bv64) == 97bv8); + free requires (memory_load8_le(mem, 2287bv64) == 114bv8); + free requires (memory_load8_le(mem, 2288bv64) == 32bv8); + free requires (memory_load8_le(mem, 2289bv64) == 105bv8); + free requires (memory_load8_le(mem, 2290bv64) == 115bv8); + free requires (memory_load8_le(mem, 2291bv64) == 58bv8); + free requires (memory_load8_le(mem, 2292bv64) == 32bv8); + free requires (memory_load8_le(mem, 2293bv64) == 37bv8); + free requires (memory_load8_le(mem, 2294bv64) == 99bv8); + free requires (memory_load8_le(mem, 2295bv64) == 10bv8); + free requires (memory_load8_le(mem, 2296bv64) == 0bv8); + free requires (memory_load8_le(mem, 2297bv64) == 0bv8); + free requires (memory_load8_le(mem, 2298bv64) == 0bv8); + free requires (memory_load8_le(mem, 2299bv64) == 0bv8); + free requires (memory_load8_le(mem, 2300bv64) == 0bv8); + free requires (memory_load8_le(mem, 2301bv64) == 0bv8); + free requires (memory_load8_le(mem, 2302bv64) == 0bv8); + free requires (memory_load8_le(mem, 2303bv64) == 0bv8); + free requires (memory_load8_le(mem, 2304bv64) == 84bv8); + free requires (memory_load8_le(mem, 2305bv64) == 104bv8); + free requires (memory_load8_le(mem, 2306bv64) == 101bv8); + free requires (memory_load8_le(mem, 2307bv64) == 32bv8); + free requires (memory_load8_le(mem, 2308bv64) == 105bv8); + free requires (memory_load8_le(mem, 2309bv64) == 110bv8); + free requires (memory_load8_le(mem, 2310bv64) == 116bv8); + free requires (memory_load8_le(mem, 2311bv64) == 32bv8); + free requires (memory_load8_le(mem, 2312bv64) == 105bv8); + free requires (memory_load8_le(mem, 2313bv64) == 115bv8); + free requires (memory_load8_le(mem, 2314bv64) == 58bv8); + free requires (memory_load8_le(mem, 2315bv64) == 32bv8); + free requires (memory_load8_le(mem, 2316bv64) == 37bv8); + free requires (memory_load8_le(mem, 2317bv64) == 100bv8); + free requires (memory_load8_le(mem, 2318bv64) == 10bv8); + free requires (memory_load8_le(mem, 2319bv64) == 0bv8); + free requires (memory_load8_le(mem, 2320bv64) == 84bv8); + free requires (memory_load8_le(mem, 2321bv64) == 104bv8); + free requires (memory_load8_le(mem, 2322bv64) == 101bv8); + free requires (memory_load8_le(mem, 2323bv64) == 32bv8); + free requires (memory_load8_le(mem, 2324bv64) == 108bv8); + free requires (memory_load8_le(mem, 2325bv64) == 111bv8); + free requires (memory_load8_le(mem, 2326bv64) == 99bv8); + free requires (memory_load8_le(mem, 2327bv64) == 97bv8); + free requires (memory_load8_le(mem, 2328bv64) == 108bv8); + free requires (memory_load8_le(mem, 2329bv64) == 32bv8); + free requires (memory_load8_le(mem, 2330bv64) == 118bv8); + free requires (memory_load8_le(mem, 2331bv64) == 97bv8); + free requires (memory_load8_le(mem, 2332bv64) == 114bv8); + free requires (memory_load8_le(mem, 2333bv64) == 105bv8); + free requires (memory_load8_le(mem, 2334bv64) == 97bv8); + free requires (memory_load8_le(mem, 2335bv64) == 98bv8); + free requires (memory_load8_le(mem, 2336bv64) == 108bv8); + free requires (memory_load8_le(mem, 2337bv64) == 101bv8); + free requires (memory_load8_le(mem, 2338bv64) == 32bv8); + free requires (memory_load8_le(mem, 2339bv64) == 105bv8); + free requires (memory_load8_le(mem, 2340bv64) == 115bv8); + free requires (memory_load8_le(mem, 2341bv64) == 58bv8); + free requires (memory_load8_le(mem, 2342bv64) == 32bv8); + free requires (memory_load8_le(mem, 2343bv64) == 37bv8); + free requires (memory_load8_le(mem, 2344bv64) == 100bv8); + free requires (memory_load8_le(mem, 2345bv64) == 10bv8); + free requires (memory_load8_le(mem, 2346bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure printf(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2272bv64) == 1bv8); + free requires (memory_load8_le(mem, 2273bv64) == 0bv8); + free requires (memory_load8_le(mem, 2274bv64) == 2bv8); + free requires (memory_load8_le(mem, 2275bv64) == 0bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 0bv8); + free requires (memory_load8_le(mem, 2278bv64) == 0bv8); + free requires (memory_load8_le(mem, 2279bv64) == 0bv8); + free requires (memory_load8_le(mem, 2280bv64) == 84bv8); + free requires (memory_load8_le(mem, 2281bv64) == 104bv8); + free requires (memory_load8_le(mem, 2282bv64) == 101bv8); + free requires (memory_load8_le(mem, 2283bv64) == 32bv8); + free requires (memory_load8_le(mem, 2284bv64) == 99bv8); + free requires (memory_load8_le(mem, 2285bv64) == 104bv8); + free requires (memory_load8_le(mem, 2286bv64) == 97bv8); + free requires (memory_load8_le(mem, 2287bv64) == 114bv8); + free requires (memory_load8_le(mem, 2288bv64) == 32bv8); + free requires (memory_load8_le(mem, 2289bv64) == 105bv8); + free requires (memory_load8_le(mem, 2290bv64) == 115bv8); + free requires (memory_load8_le(mem, 2291bv64) == 58bv8); + free requires (memory_load8_le(mem, 2292bv64) == 32bv8); + free requires (memory_load8_le(mem, 2293bv64) == 37bv8); + free requires (memory_load8_le(mem, 2294bv64) == 99bv8); + free requires (memory_load8_le(mem, 2295bv64) == 10bv8); + free requires (memory_load8_le(mem, 2296bv64) == 0bv8); + free requires (memory_load8_le(mem, 2297bv64) == 0bv8); + free requires (memory_load8_le(mem, 2298bv64) == 0bv8); + free requires (memory_load8_le(mem, 2299bv64) == 0bv8); + free requires (memory_load8_le(mem, 2300bv64) == 0bv8); + free requires (memory_load8_le(mem, 2301bv64) == 0bv8); + free requires (memory_load8_le(mem, 2302bv64) == 0bv8); + free requires (memory_load8_le(mem, 2303bv64) == 0bv8); + free requires (memory_load8_le(mem, 2304bv64) == 84bv8); + free requires (memory_load8_le(mem, 2305bv64) == 104bv8); + free requires (memory_load8_le(mem, 2306bv64) == 101bv8); + free requires (memory_load8_le(mem, 2307bv64) == 32bv8); + free requires (memory_load8_le(mem, 2308bv64) == 105bv8); + free requires (memory_load8_le(mem, 2309bv64) == 110bv8); + free requires (memory_load8_le(mem, 2310bv64) == 116bv8); + free requires (memory_load8_le(mem, 2311bv64) == 32bv8); + free requires (memory_load8_le(mem, 2312bv64) == 105bv8); + free requires (memory_load8_le(mem, 2313bv64) == 115bv8); + free requires (memory_load8_le(mem, 2314bv64) == 58bv8); + free requires (memory_load8_le(mem, 2315bv64) == 32bv8); + free requires (memory_load8_le(mem, 2316bv64) == 37bv8); + free requires (memory_load8_le(mem, 2317bv64) == 100bv8); + free requires (memory_load8_le(mem, 2318bv64) == 10bv8); + free requires (memory_load8_le(mem, 2319bv64) == 0bv8); + free requires (memory_load8_le(mem, 2320bv64) == 84bv8); + free requires (memory_load8_le(mem, 2321bv64) == 104bv8); + free requires (memory_load8_le(mem, 2322bv64) == 101bv8); + free requires (memory_load8_le(mem, 2323bv64) == 32bv8); + free requires (memory_load8_le(mem, 2324bv64) == 108bv8); + free requires (memory_load8_le(mem, 2325bv64) == 111bv8); + free requires (memory_load8_le(mem, 2326bv64) == 99bv8); + free requires (memory_load8_le(mem, 2327bv64) == 97bv8); + free requires (memory_load8_le(mem, 2328bv64) == 108bv8); + free requires (memory_load8_le(mem, 2329bv64) == 32bv8); + free requires (memory_load8_le(mem, 2330bv64) == 118bv8); + free requires (memory_load8_le(mem, 2331bv64) == 97bv8); + free requires (memory_load8_le(mem, 2332bv64) == 114bv8); + free requires (memory_load8_le(mem, 2333bv64) == 105bv8); + free requires (memory_load8_le(mem, 2334bv64) == 97bv8); + free requires (memory_load8_le(mem, 2335bv64) == 98bv8); + free requires (memory_load8_le(mem, 2336bv64) == 108bv8); + free requires (memory_load8_le(mem, 2337bv64) == 101bv8); + free requires (memory_load8_le(mem, 2338bv64) == 32bv8); + free requires (memory_load8_le(mem, 2339bv64) == 105bv8); + free requires (memory_load8_le(mem, 2340bv64) == 115bv8); + free requires (memory_load8_le(mem, 2341bv64) == 58bv8); + free requires (memory_load8_le(mem, 2342bv64) == 32bv8); + free requires (memory_load8_le(mem, 2343bv64) == 37bv8); + free requires (memory_load8_le(mem, 2344bv64) == 100bv8); + free requires (memory_load8_le(mem, 2345bv64) == 10bv8); + free requires (memory_load8_le(mem, 2346bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); diff --git a/src/test/correct/malloc_with_local2/gcc_O2/malloc_with_local2.expected b/src/test/correct/malloc_with_local2/gcc_O2/malloc_with_local2.expected index 837ae23ba..3f4c5f60f 100644 --- a/src/test/correct/malloc_with_local2/gcc_O2/malloc_with_local2.expected +++ b/src/test/correct/malloc_with_local2/gcc_O2/malloc_with_local2.expected @@ -43,9 +43,115 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2088bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2089bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2090bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2091bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2092bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2093bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2094bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2095bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2096bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2097bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2098bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2099bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2100bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2101bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2102bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2103bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2104bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2105bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2106bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2107bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2108bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2109bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2110bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2111bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2112bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2113bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2114bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2115bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2116bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2117bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2118bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2119bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2120bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2121bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2122bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2123bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2124bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2125bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2126bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2127bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2128bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2129bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2130bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2131bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2132bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2133bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2134bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2135bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2136bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2137bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2138bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2139bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2140bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2141bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2142bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2143bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2144bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2145bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2146bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2147bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2148bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2149bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2150bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2151bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2152bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2153bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2154bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2155bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2156bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2157bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2158bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2159bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2160bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2161bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2162bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -63,9 +169,6 @@ procedure guarantee_reflexive(); procedure __printf_chk(); modifies Gamma_R16, Gamma_R17, R16, R17; - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R2, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R1, R16, R17, R2, R29, R30, R31, stack; free requires (memory_load8_le(mem, 2088bv64) == 1bv8); free requires (memory_load8_le(mem, 2089bv64) == 0bv8); free requires (memory_load8_le(mem, 2090bv64) == 2bv8); @@ -141,102 +244,22 @@ procedure main() free requires (memory_load8_le(mem, 2160bv64) == 100bv8); free requires (memory_load8_le(mem, 2161bv64) == 10bv8); free requires (memory_load8_le(mem, 2162bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 224bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 224bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 224bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 224bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 224bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 160bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 16bv8); + free requires (memory_load8_le(mem, 69009bv64) == 8bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 192bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 128bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -245,14 +268,124 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2088bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2089bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2090bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2091bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2092bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2093bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2094bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2095bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2096bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2097bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2098bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2099bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2100bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2101bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2102bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2103bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2104bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2105bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2106bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2107bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2108bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2109bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2110bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2111bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2112bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2113bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2114bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2115bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2116bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2117bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2118bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2119bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2120bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2121bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2122bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2123bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2124bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2125bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2126bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2127bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2128bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2129bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2130bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2131bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2132bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2133bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2134bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2135bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2136bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2137bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2138bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2139bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2140bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2141bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2142bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2143bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2144bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2145bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2146bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2147bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2148bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2149bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2150bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2151bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2152bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2153bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2154bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2155bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2156bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2157bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2158bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2159bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2160bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2161bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2162bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R2, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R1, R16, R17, R2, R29, R30, R31, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -269,10 +402,224 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 2088bv64) == 1bv8); + free requires (memory_load8_le(mem, 2089bv64) == 0bv8); + free requires (memory_load8_le(mem, 2090bv64) == 2bv8); + free requires (memory_load8_le(mem, 2091bv64) == 0bv8); + free requires (memory_load8_le(mem, 2092bv64) == 0bv8); + free requires (memory_load8_le(mem, 2093bv64) == 0bv8); + free requires (memory_load8_le(mem, 2094bv64) == 0bv8); + free requires (memory_load8_le(mem, 2095bv64) == 0bv8); + free requires (memory_load8_le(mem, 2096bv64) == 84bv8); + free requires (memory_load8_le(mem, 2097bv64) == 104bv8); + free requires (memory_load8_le(mem, 2098bv64) == 101bv8); + free requires (memory_load8_le(mem, 2099bv64) == 32bv8); + free requires (memory_load8_le(mem, 2100bv64) == 99bv8); + free requires (memory_load8_le(mem, 2101bv64) == 104bv8); + free requires (memory_load8_le(mem, 2102bv64) == 97bv8); + free requires (memory_load8_le(mem, 2103bv64) == 114bv8); + free requires (memory_load8_le(mem, 2104bv64) == 32bv8); + free requires (memory_load8_le(mem, 2105bv64) == 105bv8); + free requires (memory_load8_le(mem, 2106bv64) == 115bv8); + free requires (memory_load8_le(mem, 2107bv64) == 58bv8); + free requires (memory_load8_le(mem, 2108bv64) == 32bv8); + free requires (memory_load8_le(mem, 2109bv64) == 37bv8); + free requires (memory_load8_le(mem, 2110bv64) == 99bv8); + free requires (memory_load8_le(mem, 2111bv64) == 10bv8); + free requires (memory_load8_le(mem, 2112bv64) == 0bv8); + free requires (memory_load8_le(mem, 2113bv64) == 0bv8); + free requires (memory_load8_le(mem, 2114bv64) == 0bv8); + free requires (memory_load8_le(mem, 2115bv64) == 0bv8); + free requires (memory_load8_le(mem, 2116bv64) == 0bv8); + free requires (memory_load8_le(mem, 2117bv64) == 0bv8); + free requires (memory_load8_le(mem, 2118bv64) == 0bv8); + free requires (memory_load8_le(mem, 2119bv64) == 0bv8); + free requires (memory_load8_le(mem, 2120bv64) == 84bv8); + free requires (memory_load8_le(mem, 2121bv64) == 104bv8); + free requires (memory_load8_le(mem, 2122bv64) == 101bv8); + free requires (memory_load8_le(mem, 2123bv64) == 32bv8); + free requires (memory_load8_le(mem, 2124bv64) == 105bv8); + free requires (memory_load8_le(mem, 2125bv64) == 110bv8); + free requires (memory_load8_le(mem, 2126bv64) == 116bv8); + free requires (memory_load8_le(mem, 2127bv64) == 32bv8); + free requires (memory_load8_le(mem, 2128bv64) == 105bv8); + free requires (memory_load8_le(mem, 2129bv64) == 115bv8); + free requires (memory_load8_le(mem, 2130bv64) == 58bv8); + free requires (memory_load8_le(mem, 2131bv64) == 32bv8); + free requires (memory_load8_le(mem, 2132bv64) == 37bv8); + free requires (memory_load8_le(mem, 2133bv64) == 100bv8); + free requires (memory_load8_le(mem, 2134bv64) == 10bv8); + free requires (memory_load8_le(mem, 2135bv64) == 0bv8); + free requires (memory_load8_le(mem, 2136bv64) == 84bv8); + free requires (memory_load8_le(mem, 2137bv64) == 104bv8); + free requires (memory_load8_le(mem, 2138bv64) == 101bv8); + free requires (memory_load8_le(mem, 2139bv64) == 32bv8); + free requires (memory_load8_le(mem, 2140bv64) == 108bv8); + free requires (memory_load8_le(mem, 2141bv64) == 111bv8); + free requires (memory_load8_le(mem, 2142bv64) == 99bv8); + free requires (memory_load8_le(mem, 2143bv64) == 97bv8); + free requires (memory_load8_le(mem, 2144bv64) == 108bv8); + free requires (memory_load8_le(mem, 2145bv64) == 32bv8); + free requires (memory_load8_le(mem, 2146bv64) == 118bv8); + free requires (memory_load8_le(mem, 2147bv64) == 97bv8); + free requires (memory_load8_le(mem, 2148bv64) == 114bv8); + free requires (memory_load8_le(mem, 2149bv64) == 105bv8); + free requires (memory_load8_le(mem, 2150bv64) == 97bv8); + free requires (memory_load8_le(mem, 2151bv64) == 98bv8); + free requires (memory_load8_le(mem, 2152bv64) == 108bv8); + free requires (memory_load8_le(mem, 2153bv64) == 101bv8); + free requires (memory_load8_le(mem, 2154bv64) == 32bv8); + free requires (memory_load8_le(mem, 2155bv64) == 105bv8); + free requires (memory_load8_le(mem, 2156bv64) == 115bv8); + free requires (memory_load8_le(mem, 2157bv64) == 58bv8); + free requires (memory_load8_le(mem, 2158bv64) == 32bv8); + free requires (memory_load8_le(mem, 2159bv64) == 37bv8); + free requires (memory_load8_le(mem, 2160bv64) == 100bv8); + free requires (memory_load8_le(mem, 2161bv64) == 10bv8); + free requires (memory_load8_le(mem, 2162bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 16bv8); + free requires (memory_load8_le(mem, 69009bv64) == 8bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 192bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 128bv8); + free requires (memory_load8_le(mem, 69617bv64) == 6bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2088bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2089bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2090bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2091bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2092bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2093bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2094bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2095bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2096bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2097bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2098bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2099bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2100bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2101bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2102bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2103bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2104bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2105bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2106bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2107bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2108bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2109bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2110bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2111bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2112bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2113bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2114bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2115bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2116bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2117bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2118bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2119bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2120bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2121bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2122bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2123bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2124bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2125bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2126bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2127bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2128bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2129bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2130bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2131bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2132bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2133bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2134bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2135bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2136bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2137bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2138bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2139bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2140bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2141bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2142bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2143bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2144bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2145bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2146bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2147bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2148bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2149bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2150bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2151bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2152bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2153bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2154bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2155bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2156bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2157bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2158bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2159bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2160bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2161bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2162bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #1: bv64; var Gamma_#1: bool; diff --git a/src/test/correct/malloc_with_local2/gcc_no_plt_no_pic/malloc_with_local2.expected b/src/test/correct/malloc_with_local2/gcc_no_plt_no_pic/malloc_with_local2.expected index 36370ecdc..87d8d00df 100644 --- a/src/test/correct/malloc_with_local2/gcc_no_plt_no_pic/malloc_with_local2.expected +++ b/src/test/correct/malloc_with_local2/gcc_no_plt_no_pic/malloc_with_local2.expected @@ -75,9 +75,115 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2272bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -95,9 +201,6 @@ procedure guarantee_reflexive(); procedure #free(); modifies Gamma_R16, Gamma_R17, R16, R17; - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 2272bv64) == 1bv8); free requires (memory_load8_le(mem, 2273bv64) == 0bv8); free requires (memory_load8_le(mem, 2274bv64) == 2bv8); @@ -173,118 +276,22 @@ procedure main() free requires (memory_load8_le(mem, 2344bv64) == 100bv8); free requires (memory_load8_le(mem, 2345bv64) == 10bv8); free requires (memory_load8_le(mem, 2346bv64) == 0bv8); - free requires (memory_load8_le(mem, 69504bv64) == 0bv8); - free requires (memory_load8_le(mem, 69505bv64) == 0bv8); - free requires (memory_load8_le(mem, 69506bv64) == 0bv8); - free requires (memory_load8_le(mem, 69507bv64) == 0bv8); - free requires (memory_load8_le(mem, 69508bv64) == 0bv8); - free requires (memory_load8_le(mem, 69509bv64) == 0bv8); - free requires (memory_load8_le(mem, 69510bv64) == 0bv8); - free requires (memory_load8_le(mem, 69511bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 64bv8); - free requires (memory_load8_le(mem, 69529bv64) == 6bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 64bv8); - free requires (memory_load8_le(mem, 69537bv64) == 6bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 64bv8); - free requires (memory_load8_le(mem, 69545bv64) == 6bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 64bv8); - free requires (memory_load8_le(mem, 69553bv64) == 6bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 64bv8); - free requires (memory_load8_le(mem, 69561bv64) == 6bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 64bv8); - free requires (memory_load8_le(mem, 69569bv64) == 6bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 64bv8); - free requires (memory_load8_le(mem, 69577bv64) == 6bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 144bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 8bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -293,14 +300,124 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -317,10 +434,224 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 2272bv64) == 1bv8); + free requires (memory_load8_le(mem, 2273bv64) == 0bv8); + free requires (memory_load8_le(mem, 2274bv64) == 2bv8); + free requires (memory_load8_le(mem, 2275bv64) == 0bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 0bv8); + free requires (memory_load8_le(mem, 2278bv64) == 0bv8); + free requires (memory_load8_le(mem, 2279bv64) == 0bv8); + free requires (memory_load8_le(mem, 2280bv64) == 84bv8); + free requires (memory_load8_le(mem, 2281bv64) == 104bv8); + free requires (memory_load8_le(mem, 2282bv64) == 101bv8); + free requires (memory_load8_le(mem, 2283bv64) == 32bv8); + free requires (memory_load8_le(mem, 2284bv64) == 99bv8); + free requires (memory_load8_le(mem, 2285bv64) == 104bv8); + free requires (memory_load8_le(mem, 2286bv64) == 97bv8); + free requires (memory_load8_le(mem, 2287bv64) == 114bv8); + free requires (memory_load8_le(mem, 2288bv64) == 32bv8); + free requires (memory_load8_le(mem, 2289bv64) == 105bv8); + free requires (memory_load8_le(mem, 2290bv64) == 115bv8); + free requires (memory_load8_le(mem, 2291bv64) == 58bv8); + free requires (memory_load8_le(mem, 2292bv64) == 32bv8); + free requires (memory_load8_le(mem, 2293bv64) == 37bv8); + free requires (memory_load8_le(mem, 2294bv64) == 99bv8); + free requires (memory_load8_le(mem, 2295bv64) == 10bv8); + free requires (memory_load8_le(mem, 2296bv64) == 0bv8); + free requires (memory_load8_le(mem, 2297bv64) == 0bv8); + free requires (memory_load8_le(mem, 2298bv64) == 0bv8); + free requires (memory_load8_le(mem, 2299bv64) == 0bv8); + free requires (memory_load8_le(mem, 2300bv64) == 0bv8); + free requires (memory_load8_le(mem, 2301bv64) == 0bv8); + free requires (memory_load8_le(mem, 2302bv64) == 0bv8); + free requires (memory_load8_le(mem, 2303bv64) == 0bv8); + free requires (memory_load8_le(mem, 2304bv64) == 84bv8); + free requires (memory_load8_le(mem, 2305bv64) == 104bv8); + free requires (memory_load8_le(mem, 2306bv64) == 101bv8); + free requires (memory_load8_le(mem, 2307bv64) == 32bv8); + free requires (memory_load8_le(mem, 2308bv64) == 105bv8); + free requires (memory_load8_le(mem, 2309bv64) == 110bv8); + free requires (memory_load8_le(mem, 2310bv64) == 116bv8); + free requires (memory_load8_le(mem, 2311bv64) == 32bv8); + free requires (memory_load8_le(mem, 2312bv64) == 105bv8); + free requires (memory_load8_le(mem, 2313bv64) == 115bv8); + free requires (memory_load8_le(mem, 2314bv64) == 58bv8); + free requires (memory_load8_le(mem, 2315bv64) == 32bv8); + free requires (memory_load8_le(mem, 2316bv64) == 37bv8); + free requires (memory_load8_le(mem, 2317bv64) == 100bv8); + free requires (memory_load8_le(mem, 2318bv64) == 10bv8); + free requires (memory_load8_le(mem, 2319bv64) == 0bv8); + free requires (memory_load8_le(mem, 2320bv64) == 84bv8); + free requires (memory_load8_le(mem, 2321bv64) == 104bv8); + free requires (memory_load8_le(mem, 2322bv64) == 101bv8); + free requires (memory_load8_le(mem, 2323bv64) == 32bv8); + free requires (memory_load8_le(mem, 2324bv64) == 108bv8); + free requires (memory_load8_le(mem, 2325bv64) == 111bv8); + free requires (memory_load8_le(mem, 2326bv64) == 99bv8); + free requires (memory_load8_le(mem, 2327bv64) == 97bv8); + free requires (memory_load8_le(mem, 2328bv64) == 108bv8); + free requires (memory_load8_le(mem, 2329bv64) == 32bv8); + free requires (memory_load8_le(mem, 2330bv64) == 118bv8); + free requires (memory_load8_le(mem, 2331bv64) == 97bv8); + free requires (memory_load8_le(mem, 2332bv64) == 114bv8); + free requires (memory_load8_le(mem, 2333bv64) == 105bv8); + free requires (memory_load8_le(mem, 2334bv64) == 97bv8); + free requires (memory_load8_le(mem, 2335bv64) == 98bv8); + free requires (memory_load8_le(mem, 2336bv64) == 108bv8); + free requires (memory_load8_le(mem, 2337bv64) == 101bv8); + free requires (memory_load8_le(mem, 2338bv64) == 32bv8); + free requires (memory_load8_le(mem, 2339bv64) == 105bv8); + free requires (memory_load8_le(mem, 2340bv64) == 115bv8); + free requires (memory_load8_le(mem, 2341bv64) == 58bv8); + free requires (memory_load8_le(mem, 2342bv64) == 32bv8); + free requires (memory_load8_le(mem, 2343bv64) == 37bv8); + free requires (memory_load8_le(mem, 2344bv64) == 100bv8); + free requires (memory_load8_le(mem, 2345bv64) == 10bv8); + free requires (memory_load8_le(mem, 2346bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2272bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -408,6 +739,434 @@ procedure main() procedure malloc(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2272bv64) == 1bv8); + free requires (memory_load8_le(mem, 2273bv64) == 0bv8); + free requires (memory_load8_le(mem, 2274bv64) == 2bv8); + free requires (memory_load8_le(mem, 2275bv64) == 0bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 0bv8); + free requires (memory_load8_le(mem, 2278bv64) == 0bv8); + free requires (memory_load8_le(mem, 2279bv64) == 0bv8); + free requires (memory_load8_le(mem, 2280bv64) == 84bv8); + free requires (memory_load8_le(mem, 2281bv64) == 104bv8); + free requires (memory_load8_le(mem, 2282bv64) == 101bv8); + free requires (memory_load8_le(mem, 2283bv64) == 32bv8); + free requires (memory_load8_le(mem, 2284bv64) == 99bv8); + free requires (memory_load8_le(mem, 2285bv64) == 104bv8); + free requires (memory_load8_le(mem, 2286bv64) == 97bv8); + free requires (memory_load8_le(mem, 2287bv64) == 114bv8); + free requires (memory_load8_le(mem, 2288bv64) == 32bv8); + free requires (memory_load8_le(mem, 2289bv64) == 105bv8); + free requires (memory_load8_le(mem, 2290bv64) == 115bv8); + free requires (memory_load8_le(mem, 2291bv64) == 58bv8); + free requires (memory_load8_le(mem, 2292bv64) == 32bv8); + free requires (memory_load8_le(mem, 2293bv64) == 37bv8); + free requires (memory_load8_le(mem, 2294bv64) == 99bv8); + free requires (memory_load8_le(mem, 2295bv64) == 10bv8); + free requires (memory_load8_le(mem, 2296bv64) == 0bv8); + free requires (memory_load8_le(mem, 2297bv64) == 0bv8); + free requires (memory_load8_le(mem, 2298bv64) == 0bv8); + free requires (memory_load8_le(mem, 2299bv64) == 0bv8); + free requires (memory_load8_le(mem, 2300bv64) == 0bv8); + free requires (memory_load8_le(mem, 2301bv64) == 0bv8); + free requires (memory_load8_le(mem, 2302bv64) == 0bv8); + free requires (memory_load8_le(mem, 2303bv64) == 0bv8); + free requires (memory_load8_le(mem, 2304bv64) == 84bv8); + free requires (memory_load8_le(mem, 2305bv64) == 104bv8); + free requires (memory_load8_le(mem, 2306bv64) == 101bv8); + free requires (memory_load8_le(mem, 2307bv64) == 32bv8); + free requires (memory_load8_le(mem, 2308bv64) == 105bv8); + free requires (memory_load8_le(mem, 2309bv64) == 110bv8); + free requires (memory_load8_le(mem, 2310bv64) == 116bv8); + free requires (memory_load8_le(mem, 2311bv64) == 32bv8); + free requires (memory_load8_le(mem, 2312bv64) == 105bv8); + free requires (memory_load8_le(mem, 2313bv64) == 115bv8); + free requires (memory_load8_le(mem, 2314bv64) == 58bv8); + free requires (memory_load8_le(mem, 2315bv64) == 32bv8); + free requires (memory_load8_le(mem, 2316bv64) == 37bv8); + free requires (memory_load8_le(mem, 2317bv64) == 100bv8); + free requires (memory_load8_le(mem, 2318bv64) == 10bv8); + free requires (memory_load8_le(mem, 2319bv64) == 0bv8); + free requires (memory_load8_le(mem, 2320bv64) == 84bv8); + free requires (memory_load8_le(mem, 2321bv64) == 104bv8); + free requires (memory_load8_le(mem, 2322bv64) == 101bv8); + free requires (memory_load8_le(mem, 2323bv64) == 32bv8); + free requires (memory_load8_le(mem, 2324bv64) == 108bv8); + free requires (memory_load8_le(mem, 2325bv64) == 111bv8); + free requires (memory_load8_le(mem, 2326bv64) == 99bv8); + free requires (memory_load8_le(mem, 2327bv64) == 97bv8); + free requires (memory_load8_le(mem, 2328bv64) == 108bv8); + free requires (memory_load8_le(mem, 2329bv64) == 32bv8); + free requires (memory_load8_le(mem, 2330bv64) == 118bv8); + free requires (memory_load8_le(mem, 2331bv64) == 97bv8); + free requires (memory_load8_le(mem, 2332bv64) == 114bv8); + free requires (memory_load8_le(mem, 2333bv64) == 105bv8); + free requires (memory_load8_le(mem, 2334bv64) == 97bv8); + free requires (memory_load8_le(mem, 2335bv64) == 98bv8); + free requires (memory_load8_le(mem, 2336bv64) == 108bv8); + free requires (memory_load8_le(mem, 2337bv64) == 101bv8); + free requires (memory_load8_le(mem, 2338bv64) == 32bv8); + free requires (memory_load8_le(mem, 2339bv64) == 105bv8); + free requires (memory_load8_le(mem, 2340bv64) == 115bv8); + free requires (memory_load8_le(mem, 2341bv64) == 58bv8); + free requires (memory_load8_le(mem, 2342bv64) == 32bv8); + free requires (memory_load8_le(mem, 2343bv64) == 37bv8); + free requires (memory_load8_le(mem, 2344bv64) == 100bv8); + free requires (memory_load8_le(mem, 2345bv64) == 10bv8); + free requires (memory_load8_le(mem, 2346bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure printf(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2272bv64) == 1bv8); + free requires (memory_load8_le(mem, 2273bv64) == 0bv8); + free requires (memory_load8_le(mem, 2274bv64) == 2bv8); + free requires (memory_load8_le(mem, 2275bv64) == 0bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 0bv8); + free requires (memory_load8_le(mem, 2278bv64) == 0bv8); + free requires (memory_load8_le(mem, 2279bv64) == 0bv8); + free requires (memory_load8_le(mem, 2280bv64) == 84bv8); + free requires (memory_load8_le(mem, 2281bv64) == 104bv8); + free requires (memory_load8_le(mem, 2282bv64) == 101bv8); + free requires (memory_load8_le(mem, 2283bv64) == 32bv8); + free requires (memory_load8_le(mem, 2284bv64) == 99bv8); + free requires (memory_load8_le(mem, 2285bv64) == 104bv8); + free requires (memory_load8_le(mem, 2286bv64) == 97bv8); + free requires (memory_load8_le(mem, 2287bv64) == 114bv8); + free requires (memory_load8_le(mem, 2288bv64) == 32bv8); + free requires (memory_load8_le(mem, 2289bv64) == 105bv8); + free requires (memory_load8_le(mem, 2290bv64) == 115bv8); + free requires (memory_load8_le(mem, 2291bv64) == 58bv8); + free requires (memory_load8_le(mem, 2292bv64) == 32bv8); + free requires (memory_load8_le(mem, 2293bv64) == 37bv8); + free requires (memory_load8_le(mem, 2294bv64) == 99bv8); + free requires (memory_load8_le(mem, 2295bv64) == 10bv8); + free requires (memory_load8_le(mem, 2296bv64) == 0bv8); + free requires (memory_load8_le(mem, 2297bv64) == 0bv8); + free requires (memory_load8_le(mem, 2298bv64) == 0bv8); + free requires (memory_load8_le(mem, 2299bv64) == 0bv8); + free requires (memory_load8_le(mem, 2300bv64) == 0bv8); + free requires (memory_load8_le(mem, 2301bv64) == 0bv8); + free requires (memory_load8_le(mem, 2302bv64) == 0bv8); + free requires (memory_load8_le(mem, 2303bv64) == 0bv8); + free requires (memory_load8_le(mem, 2304bv64) == 84bv8); + free requires (memory_load8_le(mem, 2305bv64) == 104bv8); + free requires (memory_load8_le(mem, 2306bv64) == 101bv8); + free requires (memory_load8_le(mem, 2307bv64) == 32bv8); + free requires (memory_load8_le(mem, 2308bv64) == 105bv8); + free requires (memory_load8_le(mem, 2309bv64) == 110bv8); + free requires (memory_load8_le(mem, 2310bv64) == 116bv8); + free requires (memory_load8_le(mem, 2311bv64) == 32bv8); + free requires (memory_load8_le(mem, 2312bv64) == 105bv8); + free requires (memory_load8_le(mem, 2313bv64) == 115bv8); + free requires (memory_load8_le(mem, 2314bv64) == 58bv8); + free requires (memory_load8_le(mem, 2315bv64) == 32bv8); + free requires (memory_load8_le(mem, 2316bv64) == 37bv8); + free requires (memory_load8_le(mem, 2317bv64) == 100bv8); + free requires (memory_load8_le(mem, 2318bv64) == 10bv8); + free requires (memory_load8_le(mem, 2319bv64) == 0bv8); + free requires (memory_load8_le(mem, 2320bv64) == 84bv8); + free requires (memory_load8_le(mem, 2321bv64) == 104bv8); + free requires (memory_load8_le(mem, 2322bv64) == 101bv8); + free requires (memory_load8_le(mem, 2323bv64) == 32bv8); + free requires (memory_load8_le(mem, 2324bv64) == 108bv8); + free requires (memory_load8_le(mem, 2325bv64) == 111bv8); + free requires (memory_load8_le(mem, 2326bv64) == 99bv8); + free requires (memory_load8_le(mem, 2327bv64) == 97bv8); + free requires (memory_load8_le(mem, 2328bv64) == 108bv8); + free requires (memory_load8_le(mem, 2329bv64) == 32bv8); + free requires (memory_load8_le(mem, 2330bv64) == 118bv8); + free requires (memory_load8_le(mem, 2331bv64) == 97bv8); + free requires (memory_load8_le(mem, 2332bv64) == 114bv8); + free requires (memory_load8_le(mem, 2333bv64) == 105bv8); + free requires (memory_load8_le(mem, 2334bv64) == 97bv8); + free requires (memory_load8_le(mem, 2335bv64) == 98bv8); + free requires (memory_load8_le(mem, 2336bv64) == 108bv8); + free requires (memory_load8_le(mem, 2337bv64) == 101bv8); + free requires (memory_load8_le(mem, 2338bv64) == 32bv8); + free requires (memory_load8_le(mem, 2339bv64) == 105bv8); + free requires (memory_load8_le(mem, 2340bv64) == 115bv8); + free requires (memory_load8_le(mem, 2341bv64) == 58bv8); + free requires (memory_load8_le(mem, 2342bv64) == 32bv8); + free requires (memory_load8_le(mem, 2343bv64) == 37bv8); + free requires (memory_load8_le(mem, 2344bv64) == 100bv8); + free requires (memory_load8_le(mem, 2345bv64) == 10bv8); + free requires (memory_load8_le(mem, 2346bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); diff --git a/src/test/correct/malloc_with_local2/gcc_pic/malloc_with_local2.expected b/src/test/correct/malloc_with_local2/gcc_pic/malloc_with_local2.expected index 36370ecdc..87d8d00df 100644 --- a/src/test/correct/malloc_with_local2/gcc_pic/malloc_with_local2.expected +++ b/src/test/correct/malloc_with_local2/gcc_pic/malloc_with_local2.expected @@ -75,9 +75,115 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2272bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -95,9 +201,6 @@ procedure guarantee_reflexive(); procedure #free(); modifies Gamma_R16, Gamma_R17, R16, R17; - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 2272bv64) == 1bv8); free requires (memory_load8_le(mem, 2273bv64) == 0bv8); free requires (memory_load8_le(mem, 2274bv64) == 2bv8); @@ -173,118 +276,22 @@ procedure main() free requires (memory_load8_le(mem, 2344bv64) == 100bv8); free requires (memory_load8_le(mem, 2345bv64) == 10bv8); free requires (memory_load8_le(mem, 2346bv64) == 0bv8); - free requires (memory_load8_le(mem, 69504bv64) == 0bv8); - free requires (memory_load8_le(mem, 69505bv64) == 0bv8); - free requires (memory_load8_le(mem, 69506bv64) == 0bv8); - free requires (memory_load8_le(mem, 69507bv64) == 0bv8); - free requires (memory_load8_le(mem, 69508bv64) == 0bv8); - free requires (memory_load8_le(mem, 69509bv64) == 0bv8); - free requires (memory_load8_le(mem, 69510bv64) == 0bv8); - free requires (memory_load8_le(mem, 69511bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 64bv8); - free requires (memory_load8_le(mem, 69529bv64) == 6bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 64bv8); - free requires (memory_load8_le(mem, 69537bv64) == 6bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 64bv8); - free requires (memory_load8_le(mem, 69545bv64) == 6bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 64bv8); - free requires (memory_load8_le(mem, 69553bv64) == 6bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 64bv8); - free requires (memory_load8_le(mem, 69561bv64) == 6bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 64bv8); - free requires (memory_load8_le(mem, 69569bv64) == 6bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 64bv8); - free requires (memory_load8_le(mem, 69577bv64) == 6bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 144bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 8bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -293,14 +300,124 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -317,10 +434,224 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 2272bv64) == 1bv8); + free requires (memory_load8_le(mem, 2273bv64) == 0bv8); + free requires (memory_load8_le(mem, 2274bv64) == 2bv8); + free requires (memory_load8_le(mem, 2275bv64) == 0bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 0bv8); + free requires (memory_load8_le(mem, 2278bv64) == 0bv8); + free requires (memory_load8_le(mem, 2279bv64) == 0bv8); + free requires (memory_load8_le(mem, 2280bv64) == 84bv8); + free requires (memory_load8_le(mem, 2281bv64) == 104bv8); + free requires (memory_load8_le(mem, 2282bv64) == 101bv8); + free requires (memory_load8_le(mem, 2283bv64) == 32bv8); + free requires (memory_load8_le(mem, 2284bv64) == 99bv8); + free requires (memory_load8_le(mem, 2285bv64) == 104bv8); + free requires (memory_load8_le(mem, 2286bv64) == 97bv8); + free requires (memory_load8_le(mem, 2287bv64) == 114bv8); + free requires (memory_load8_le(mem, 2288bv64) == 32bv8); + free requires (memory_load8_le(mem, 2289bv64) == 105bv8); + free requires (memory_load8_le(mem, 2290bv64) == 115bv8); + free requires (memory_load8_le(mem, 2291bv64) == 58bv8); + free requires (memory_load8_le(mem, 2292bv64) == 32bv8); + free requires (memory_load8_le(mem, 2293bv64) == 37bv8); + free requires (memory_load8_le(mem, 2294bv64) == 99bv8); + free requires (memory_load8_le(mem, 2295bv64) == 10bv8); + free requires (memory_load8_le(mem, 2296bv64) == 0bv8); + free requires (memory_load8_le(mem, 2297bv64) == 0bv8); + free requires (memory_load8_le(mem, 2298bv64) == 0bv8); + free requires (memory_load8_le(mem, 2299bv64) == 0bv8); + free requires (memory_load8_le(mem, 2300bv64) == 0bv8); + free requires (memory_load8_le(mem, 2301bv64) == 0bv8); + free requires (memory_load8_le(mem, 2302bv64) == 0bv8); + free requires (memory_load8_le(mem, 2303bv64) == 0bv8); + free requires (memory_load8_le(mem, 2304bv64) == 84bv8); + free requires (memory_load8_le(mem, 2305bv64) == 104bv8); + free requires (memory_load8_le(mem, 2306bv64) == 101bv8); + free requires (memory_load8_le(mem, 2307bv64) == 32bv8); + free requires (memory_load8_le(mem, 2308bv64) == 105bv8); + free requires (memory_load8_le(mem, 2309bv64) == 110bv8); + free requires (memory_load8_le(mem, 2310bv64) == 116bv8); + free requires (memory_load8_le(mem, 2311bv64) == 32bv8); + free requires (memory_load8_le(mem, 2312bv64) == 105bv8); + free requires (memory_load8_le(mem, 2313bv64) == 115bv8); + free requires (memory_load8_le(mem, 2314bv64) == 58bv8); + free requires (memory_load8_le(mem, 2315bv64) == 32bv8); + free requires (memory_load8_le(mem, 2316bv64) == 37bv8); + free requires (memory_load8_le(mem, 2317bv64) == 100bv8); + free requires (memory_load8_le(mem, 2318bv64) == 10bv8); + free requires (memory_load8_le(mem, 2319bv64) == 0bv8); + free requires (memory_load8_le(mem, 2320bv64) == 84bv8); + free requires (memory_load8_le(mem, 2321bv64) == 104bv8); + free requires (memory_load8_le(mem, 2322bv64) == 101bv8); + free requires (memory_load8_le(mem, 2323bv64) == 32bv8); + free requires (memory_load8_le(mem, 2324bv64) == 108bv8); + free requires (memory_load8_le(mem, 2325bv64) == 111bv8); + free requires (memory_load8_le(mem, 2326bv64) == 99bv8); + free requires (memory_load8_le(mem, 2327bv64) == 97bv8); + free requires (memory_load8_le(mem, 2328bv64) == 108bv8); + free requires (memory_load8_le(mem, 2329bv64) == 32bv8); + free requires (memory_load8_le(mem, 2330bv64) == 118bv8); + free requires (memory_load8_le(mem, 2331bv64) == 97bv8); + free requires (memory_load8_le(mem, 2332bv64) == 114bv8); + free requires (memory_load8_le(mem, 2333bv64) == 105bv8); + free requires (memory_load8_le(mem, 2334bv64) == 97bv8); + free requires (memory_load8_le(mem, 2335bv64) == 98bv8); + free requires (memory_load8_le(mem, 2336bv64) == 108bv8); + free requires (memory_load8_le(mem, 2337bv64) == 101bv8); + free requires (memory_load8_le(mem, 2338bv64) == 32bv8); + free requires (memory_load8_le(mem, 2339bv64) == 105bv8); + free requires (memory_load8_le(mem, 2340bv64) == 115bv8); + free requires (memory_load8_le(mem, 2341bv64) == 58bv8); + free requires (memory_load8_le(mem, 2342bv64) == 32bv8); + free requires (memory_load8_le(mem, 2343bv64) == 37bv8); + free requires (memory_load8_le(mem, 2344bv64) == 100bv8); + free requires (memory_load8_le(mem, 2345bv64) == 10bv8); + free requires (memory_load8_le(mem, 2346bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2272bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -408,6 +739,434 @@ procedure main() procedure malloc(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2272bv64) == 1bv8); + free requires (memory_load8_le(mem, 2273bv64) == 0bv8); + free requires (memory_load8_le(mem, 2274bv64) == 2bv8); + free requires (memory_load8_le(mem, 2275bv64) == 0bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 0bv8); + free requires (memory_load8_le(mem, 2278bv64) == 0bv8); + free requires (memory_load8_le(mem, 2279bv64) == 0bv8); + free requires (memory_load8_le(mem, 2280bv64) == 84bv8); + free requires (memory_load8_le(mem, 2281bv64) == 104bv8); + free requires (memory_load8_le(mem, 2282bv64) == 101bv8); + free requires (memory_load8_le(mem, 2283bv64) == 32bv8); + free requires (memory_load8_le(mem, 2284bv64) == 99bv8); + free requires (memory_load8_le(mem, 2285bv64) == 104bv8); + free requires (memory_load8_le(mem, 2286bv64) == 97bv8); + free requires (memory_load8_le(mem, 2287bv64) == 114bv8); + free requires (memory_load8_le(mem, 2288bv64) == 32bv8); + free requires (memory_load8_le(mem, 2289bv64) == 105bv8); + free requires (memory_load8_le(mem, 2290bv64) == 115bv8); + free requires (memory_load8_le(mem, 2291bv64) == 58bv8); + free requires (memory_load8_le(mem, 2292bv64) == 32bv8); + free requires (memory_load8_le(mem, 2293bv64) == 37bv8); + free requires (memory_load8_le(mem, 2294bv64) == 99bv8); + free requires (memory_load8_le(mem, 2295bv64) == 10bv8); + free requires (memory_load8_le(mem, 2296bv64) == 0bv8); + free requires (memory_load8_le(mem, 2297bv64) == 0bv8); + free requires (memory_load8_le(mem, 2298bv64) == 0bv8); + free requires (memory_load8_le(mem, 2299bv64) == 0bv8); + free requires (memory_load8_le(mem, 2300bv64) == 0bv8); + free requires (memory_load8_le(mem, 2301bv64) == 0bv8); + free requires (memory_load8_le(mem, 2302bv64) == 0bv8); + free requires (memory_load8_le(mem, 2303bv64) == 0bv8); + free requires (memory_load8_le(mem, 2304bv64) == 84bv8); + free requires (memory_load8_le(mem, 2305bv64) == 104bv8); + free requires (memory_load8_le(mem, 2306bv64) == 101bv8); + free requires (memory_load8_le(mem, 2307bv64) == 32bv8); + free requires (memory_load8_le(mem, 2308bv64) == 105bv8); + free requires (memory_load8_le(mem, 2309bv64) == 110bv8); + free requires (memory_load8_le(mem, 2310bv64) == 116bv8); + free requires (memory_load8_le(mem, 2311bv64) == 32bv8); + free requires (memory_load8_le(mem, 2312bv64) == 105bv8); + free requires (memory_load8_le(mem, 2313bv64) == 115bv8); + free requires (memory_load8_le(mem, 2314bv64) == 58bv8); + free requires (memory_load8_le(mem, 2315bv64) == 32bv8); + free requires (memory_load8_le(mem, 2316bv64) == 37bv8); + free requires (memory_load8_le(mem, 2317bv64) == 100bv8); + free requires (memory_load8_le(mem, 2318bv64) == 10bv8); + free requires (memory_load8_le(mem, 2319bv64) == 0bv8); + free requires (memory_load8_le(mem, 2320bv64) == 84bv8); + free requires (memory_load8_le(mem, 2321bv64) == 104bv8); + free requires (memory_load8_le(mem, 2322bv64) == 101bv8); + free requires (memory_load8_le(mem, 2323bv64) == 32bv8); + free requires (memory_load8_le(mem, 2324bv64) == 108bv8); + free requires (memory_load8_le(mem, 2325bv64) == 111bv8); + free requires (memory_load8_le(mem, 2326bv64) == 99bv8); + free requires (memory_load8_le(mem, 2327bv64) == 97bv8); + free requires (memory_load8_le(mem, 2328bv64) == 108bv8); + free requires (memory_load8_le(mem, 2329bv64) == 32bv8); + free requires (memory_load8_le(mem, 2330bv64) == 118bv8); + free requires (memory_load8_le(mem, 2331bv64) == 97bv8); + free requires (memory_load8_le(mem, 2332bv64) == 114bv8); + free requires (memory_load8_le(mem, 2333bv64) == 105bv8); + free requires (memory_load8_le(mem, 2334bv64) == 97bv8); + free requires (memory_load8_le(mem, 2335bv64) == 98bv8); + free requires (memory_load8_le(mem, 2336bv64) == 108bv8); + free requires (memory_load8_le(mem, 2337bv64) == 101bv8); + free requires (memory_load8_le(mem, 2338bv64) == 32bv8); + free requires (memory_load8_le(mem, 2339bv64) == 105bv8); + free requires (memory_load8_le(mem, 2340bv64) == 115bv8); + free requires (memory_load8_le(mem, 2341bv64) == 58bv8); + free requires (memory_load8_le(mem, 2342bv64) == 32bv8); + free requires (memory_load8_le(mem, 2343bv64) == 37bv8); + free requires (memory_load8_le(mem, 2344bv64) == 100bv8); + free requires (memory_load8_le(mem, 2345bv64) == 10bv8); + free requires (memory_load8_le(mem, 2346bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure printf(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2272bv64) == 1bv8); + free requires (memory_load8_le(mem, 2273bv64) == 0bv8); + free requires (memory_load8_le(mem, 2274bv64) == 2bv8); + free requires (memory_load8_le(mem, 2275bv64) == 0bv8); + free requires (memory_load8_le(mem, 2276bv64) == 0bv8); + free requires (memory_load8_le(mem, 2277bv64) == 0bv8); + free requires (memory_load8_le(mem, 2278bv64) == 0bv8); + free requires (memory_load8_le(mem, 2279bv64) == 0bv8); + free requires (memory_load8_le(mem, 2280bv64) == 84bv8); + free requires (memory_load8_le(mem, 2281bv64) == 104bv8); + free requires (memory_load8_le(mem, 2282bv64) == 101bv8); + free requires (memory_load8_le(mem, 2283bv64) == 32bv8); + free requires (memory_load8_le(mem, 2284bv64) == 99bv8); + free requires (memory_load8_le(mem, 2285bv64) == 104bv8); + free requires (memory_load8_le(mem, 2286bv64) == 97bv8); + free requires (memory_load8_le(mem, 2287bv64) == 114bv8); + free requires (memory_load8_le(mem, 2288bv64) == 32bv8); + free requires (memory_load8_le(mem, 2289bv64) == 105bv8); + free requires (memory_load8_le(mem, 2290bv64) == 115bv8); + free requires (memory_load8_le(mem, 2291bv64) == 58bv8); + free requires (memory_load8_le(mem, 2292bv64) == 32bv8); + free requires (memory_load8_le(mem, 2293bv64) == 37bv8); + free requires (memory_load8_le(mem, 2294bv64) == 99bv8); + free requires (memory_load8_le(mem, 2295bv64) == 10bv8); + free requires (memory_load8_le(mem, 2296bv64) == 0bv8); + free requires (memory_load8_le(mem, 2297bv64) == 0bv8); + free requires (memory_load8_le(mem, 2298bv64) == 0bv8); + free requires (memory_load8_le(mem, 2299bv64) == 0bv8); + free requires (memory_load8_le(mem, 2300bv64) == 0bv8); + free requires (memory_load8_le(mem, 2301bv64) == 0bv8); + free requires (memory_load8_le(mem, 2302bv64) == 0bv8); + free requires (memory_load8_le(mem, 2303bv64) == 0bv8); + free requires (memory_load8_le(mem, 2304bv64) == 84bv8); + free requires (memory_load8_le(mem, 2305bv64) == 104bv8); + free requires (memory_load8_le(mem, 2306bv64) == 101bv8); + free requires (memory_load8_le(mem, 2307bv64) == 32bv8); + free requires (memory_load8_le(mem, 2308bv64) == 105bv8); + free requires (memory_load8_le(mem, 2309bv64) == 110bv8); + free requires (memory_load8_le(mem, 2310bv64) == 116bv8); + free requires (memory_load8_le(mem, 2311bv64) == 32bv8); + free requires (memory_load8_le(mem, 2312bv64) == 105bv8); + free requires (memory_load8_le(mem, 2313bv64) == 115bv8); + free requires (memory_load8_le(mem, 2314bv64) == 58bv8); + free requires (memory_load8_le(mem, 2315bv64) == 32bv8); + free requires (memory_load8_le(mem, 2316bv64) == 37bv8); + free requires (memory_load8_le(mem, 2317bv64) == 100bv8); + free requires (memory_load8_le(mem, 2318bv64) == 10bv8); + free requires (memory_load8_le(mem, 2319bv64) == 0bv8); + free requires (memory_load8_le(mem, 2320bv64) == 84bv8); + free requires (memory_load8_le(mem, 2321bv64) == 104bv8); + free requires (memory_load8_le(mem, 2322bv64) == 101bv8); + free requires (memory_load8_le(mem, 2323bv64) == 32bv8); + free requires (memory_load8_le(mem, 2324bv64) == 108bv8); + free requires (memory_load8_le(mem, 2325bv64) == 111bv8); + free requires (memory_load8_le(mem, 2326bv64) == 99bv8); + free requires (memory_load8_le(mem, 2327bv64) == 97bv8); + free requires (memory_load8_le(mem, 2328bv64) == 108bv8); + free requires (memory_load8_le(mem, 2329bv64) == 32bv8); + free requires (memory_load8_le(mem, 2330bv64) == 118bv8); + free requires (memory_load8_le(mem, 2331bv64) == 97bv8); + free requires (memory_load8_le(mem, 2332bv64) == 114bv8); + free requires (memory_load8_le(mem, 2333bv64) == 105bv8); + free requires (memory_load8_le(mem, 2334bv64) == 97bv8); + free requires (memory_load8_le(mem, 2335bv64) == 98bv8); + free requires (memory_load8_le(mem, 2336bv64) == 108bv8); + free requires (memory_load8_le(mem, 2337bv64) == 101bv8); + free requires (memory_load8_le(mem, 2338bv64) == 32bv8); + free requires (memory_load8_le(mem, 2339bv64) == 105bv8); + free requires (memory_load8_le(mem, 2340bv64) == 115bv8); + free requires (memory_load8_le(mem, 2341bv64) == 58bv8); + free requires (memory_load8_le(mem, 2342bv64) == 32bv8); + free requires (memory_load8_le(mem, 2343bv64) == 37bv8); + free requires (memory_load8_le(mem, 2344bv64) == 100bv8); + free requires (memory_load8_le(mem, 2345bv64) == 10bv8); + free requires (memory_load8_le(mem, 2346bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); diff --git a/src/test/correct/malloc_with_local3/clang/malloc_with_local3.expected b/src/test/correct/malloc_with_local3/clang/malloc_with_local3.expected index 150eb10aa..ad639bbf2 100644 --- a/src/test/correct/malloc_with_local3/clang/malloc_with_local3.expected +++ b/src/test/correct/malloc_with_local3/clang/malloc_with_local3.expected @@ -80,9 +80,110 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2344bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2407bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2408bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2409bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2410bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2411bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2412bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2413bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -100,9 +201,6 @@ procedure guarantee_reflexive(); procedure #free(); modifies Gamma_R16, Gamma_R17, R16, R17; - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 2344bv64) == 1bv8); free requires (memory_load8_le(mem, 2345bv64) == 0bv8); free requires (memory_load8_le(mem, 2346bv64) == 2bv8); @@ -173,38 +271,22 @@ procedure main() free requires (memory_load8_le(mem, 2411bv64) == 99bv8); free requires (memory_load8_le(mem, 2412bv64) == 10bv8); free requires (memory_load8_le(mem, 2413bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 8bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -213,14 +295,119 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2407bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2408bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2409bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2410bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2411bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2412bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2413bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 69688bv64) == 0bv8); free requires (memory_load8_le(mem, 69689bv64) == 0bv8); free requires (memory_load8_le(mem, 69690bv64) == 0bv8); @@ -237,10 +424,214 @@ procedure main() free requires (memory_load8_le(mem, 69701bv64) == 0bv8); free requires (memory_load8_le(mem, 69702bv64) == 0bv8); free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free requires (memory_load8_le(mem, 2344bv64) == 1bv8); + free requires (memory_load8_le(mem, 2345bv64) == 0bv8); + free requires (memory_load8_le(mem, 2346bv64) == 2bv8); + free requires (memory_load8_le(mem, 2347bv64) == 0bv8); + free requires (memory_load8_le(mem, 2348bv64) == 84bv8); + free requires (memory_load8_le(mem, 2349bv64) == 104bv8); + free requires (memory_load8_le(mem, 2350bv64) == 101bv8); + free requires (memory_load8_le(mem, 2351bv64) == 32bv8); + free requires (memory_load8_le(mem, 2352bv64) == 105bv8); + free requires (memory_load8_le(mem, 2353bv64) == 110bv8); + free requires (memory_load8_le(mem, 2354bv64) == 116bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 105bv8); + free requires (memory_load8_le(mem, 2357bv64) == 115bv8); + free requires (memory_load8_le(mem, 2358bv64) == 58bv8); + free requires (memory_load8_le(mem, 2359bv64) == 32bv8); + free requires (memory_load8_le(mem, 2360bv64) == 37bv8); + free requires (memory_load8_le(mem, 2361bv64) == 100bv8); + free requires (memory_load8_le(mem, 2362bv64) == 10bv8); + free requires (memory_load8_le(mem, 2363bv64) == 0bv8); + free requires (memory_load8_le(mem, 2364bv64) == 84bv8); + free requires (memory_load8_le(mem, 2365bv64) == 104bv8); + free requires (memory_load8_le(mem, 2366bv64) == 101bv8); + free requires (memory_load8_le(mem, 2367bv64) == 32bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 111bv8); + free requires (memory_load8_le(mem, 2370bv64) == 99bv8); + free requires (memory_load8_le(mem, 2371bv64) == 97bv8); + free requires (memory_load8_le(mem, 2372bv64) == 108bv8); + free requires (memory_load8_le(mem, 2373bv64) == 32bv8); + free requires (memory_load8_le(mem, 2374bv64) == 118bv8); + free requires (memory_load8_le(mem, 2375bv64) == 97bv8); + free requires (memory_load8_le(mem, 2376bv64) == 114bv8); + free requires (memory_load8_le(mem, 2377bv64) == 105bv8); + free requires (memory_load8_le(mem, 2378bv64) == 97bv8); + free requires (memory_load8_le(mem, 2379bv64) == 98bv8); + free requires (memory_load8_le(mem, 2380bv64) == 108bv8); + free requires (memory_load8_le(mem, 2381bv64) == 101bv8); + free requires (memory_load8_le(mem, 2382bv64) == 32bv8); + free requires (memory_load8_le(mem, 2383bv64) == 105bv8); + free requires (memory_load8_le(mem, 2384bv64) == 115bv8); + free requires (memory_load8_le(mem, 2385bv64) == 58bv8); + free requires (memory_load8_le(mem, 2386bv64) == 32bv8); + free requires (memory_load8_le(mem, 2387bv64) == 37bv8); + free requires (memory_load8_le(mem, 2388bv64) == 100bv8); + free requires (memory_load8_le(mem, 2389bv64) == 10bv8); + free requires (memory_load8_le(mem, 2390bv64) == 0bv8); + free requires (memory_load8_le(mem, 2391bv64) == 84bv8); + free requires (memory_load8_le(mem, 2392bv64) == 104bv8); + free requires (memory_load8_le(mem, 2393bv64) == 101bv8); + free requires (memory_load8_le(mem, 2394bv64) == 32bv8); + free requires (memory_load8_le(mem, 2395bv64) == 99bv8); + free requires (memory_load8_le(mem, 2396bv64) == 104bv8); + free requires (memory_load8_le(mem, 2397bv64) == 97bv8); + free requires (memory_load8_le(mem, 2398bv64) == 114bv8); + free requires (memory_load8_le(mem, 2399bv64) == 32bv8); + free requires (memory_load8_le(mem, 2400bv64) == 118bv8); + free requires (memory_load8_le(mem, 2401bv64) == 97bv8); + free requires (memory_load8_le(mem, 2402bv64) == 108bv8); + free requires (memory_load8_le(mem, 2403bv64) == 117bv8); + free requires (memory_load8_le(mem, 2404bv64) == 101bv8); + free requires (memory_load8_le(mem, 2405bv64) == 32bv8); + free requires (memory_load8_le(mem, 2406bv64) == 105bv8); + free requires (memory_load8_le(mem, 2407bv64) == 115bv8); + free requires (memory_load8_le(mem, 2408bv64) == 58bv8); + free requires (memory_load8_le(mem, 2409bv64) == 32bv8); + free requires (memory_load8_le(mem, 2410bv64) == 37bv8); + free requires (memory_load8_le(mem, 2411bv64) == 99bv8); + free requires (memory_load8_le(mem, 2412bv64) == 10bv8); + free requires (memory_load8_le(mem, 2413bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2344bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2407bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2408bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2409bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2410bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2411bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2412bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2413bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); { var #4: bv64; var #7: bv64; @@ -331,13 +722,421 @@ procedure main() procedure malloc(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2344bv64) == 1bv8); + free requires (memory_load8_le(mem, 2345bv64) == 0bv8); + free requires (memory_load8_le(mem, 2346bv64) == 2bv8); + free requires (memory_load8_le(mem, 2347bv64) == 0bv8); + free requires (memory_load8_le(mem, 2348bv64) == 84bv8); + free requires (memory_load8_le(mem, 2349bv64) == 104bv8); + free requires (memory_load8_le(mem, 2350bv64) == 101bv8); + free requires (memory_load8_le(mem, 2351bv64) == 32bv8); + free requires (memory_load8_le(mem, 2352bv64) == 105bv8); + free requires (memory_load8_le(mem, 2353bv64) == 110bv8); + free requires (memory_load8_le(mem, 2354bv64) == 116bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 105bv8); + free requires (memory_load8_le(mem, 2357bv64) == 115bv8); + free requires (memory_load8_le(mem, 2358bv64) == 58bv8); + free requires (memory_load8_le(mem, 2359bv64) == 32bv8); + free requires (memory_load8_le(mem, 2360bv64) == 37bv8); + free requires (memory_load8_le(mem, 2361bv64) == 100bv8); + free requires (memory_load8_le(mem, 2362bv64) == 10bv8); + free requires (memory_load8_le(mem, 2363bv64) == 0bv8); + free requires (memory_load8_le(mem, 2364bv64) == 84bv8); + free requires (memory_load8_le(mem, 2365bv64) == 104bv8); + free requires (memory_load8_le(mem, 2366bv64) == 101bv8); + free requires (memory_load8_le(mem, 2367bv64) == 32bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 111bv8); + free requires (memory_load8_le(mem, 2370bv64) == 99bv8); + free requires (memory_load8_le(mem, 2371bv64) == 97bv8); + free requires (memory_load8_le(mem, 2372bv64) == 108bv8); + free requires (memory_load8_le(mem, 2373bv64) == 32bv8); + free requires (memory_load8_le(mem, 2374bv64) == 118bv8); + free requires (memory_load8_le(mem, 2375bv64) == 97bv8); + free requires (memory_load8_le(mem, 2376bv64) == 114bv8); + free requires (memory_load8_le(mem, 2377bv64) == 105bv8); + free requires (memory_load8_le(mem, 2378bv64) == 97bv8); + free requires (memory_load8_le(mem, 2379bv64) == 98bv8); + free requires (memory_load8_le(mem, 2380bv64) == 108bv8); + free requires (memory_load8_le(mem, 2381bv64) == 101bv8); + free requires (memory_load8_le(mem, 2382bv64) == 32bv8); + free requires (memory_load8_le(mem, 2383bv64) == 105bv8); + free requires (memory_load8_le(mem, 2384bv64) == 115bv8); + free requires (memory_load8_le(mem, 2385bv64) == 58bv8); + free requires (memory_load8_le(mem, 2386bv64) == 32bv8); + free requires (memory_load8_le(mem, 2387bv64) == 37bv8); + free requires (memory_load8_le(mem, 2388bv64) == 100bv8); + free requires (memory_load8_le(mem, 2389bv64) == 10bv8); + free requires (memory_load8_le(mem, 2390bv64) == 0bv8); + free requires (memory_load8_le(mem, 2391bv64) == 84bv8); + free requires (memory_load8_le(mem, 2392bv64) == 104bv8); + free requires (memory_load8_le(mem, 2393bv64) == 101bv8); + free requires (memory_load8_le(mem, 2394bv64) == 32bv8); + free requires (memory_load8_le(mem, 2395bv64) == 99bv8); + free requires (memory_load8_le(mem, 2396bv64) == 104bv8); + free requires (memory_load8_le(mem, 2397bv64) == 97bv8); + free requires (memory_load8_le(mem, 2398bv64) == 114bv8); + free requires (memory_load8_le(mem, 2399bv64) == 32bv8); + free requires (memory_load8_le(mem, 2400bv64) == 118bv8); + free requires (memory_load8_le(mem, 2401bv64) == 97bv8); + free requires (memory_load8_le(mem, 2402bv64) == 108bv8); + free requires (memory_load8_le(mem, 2403bv64) == 117bv8); + free requires (memory_load8_le(mem, 2404bv64) == 101bv8); + free requires (memory_load8_le(mem, 2405bv64) == 32bv8); + free requires (memory_load8_le(mem, 2406bv64) == 105bv8); + free requires (memory_load8_le(mem, 2407bv64) == 115bv8); + free requires (memory_load8_le(mem, 2408bv64) == 58bv8); + free requires (memory_load8_le(mem, 2409bv64) == 32bv8); + free requires (memory_load8_le(mem, 2410bv64) == 37bv8); + free requires (memory_load8_le(mem, 2411bv64) == 99bv8); + free requires (memory_load8_le(mem, 2412bv64) == 10bv8); + free requires (memory_load8_le(mem, 2413bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2407bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2408bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2409bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2410bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2411bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2412bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2413bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure printCharValue() modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, R8, R9, mem, stack; + free requires (memory_load8_le(mem, 2344bv64) == 1bv8); + free requires (memory_load8_le(mem, 2345bv64) == 0bv8); + free requires (memory_load8_le(mem, 2346bv64) == 2bv8); + free requires (memory_load8_le(mem, 2347bv64) == 0bv8); + free requires (memory_load8_le(mem, 2348bv64) == 84bv8); + free requires (memory_load8_le(mem, 2349bv64) == 104bv8); + free requires (memory_load8_le(mem, 2350bv64) == 101bv8); + free requires (memory_load8_le(mem, 2351bv64) == 32bv8); + free requires (memory_load8_le(mem, 2352bv64) == 105bv8); + free requires (memory_load8_le(mem, 2353bv64) == 110bv8); + free requires (memory_load8_le(mem, 2354bv64) == 116bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 105bv8); + free requires (memory_load8_le(mem, 2357bv64) == 115bv8); + free requires (memory_load8_le(mem, 2358bv64) == 58bv8); + free requires (memory_load8_le(mem, 2359bv64) == 32bv8); + free requires (memory_load8_le(mem, 2360bv64) == 37bv8); + free requires (memory_load8_le(mem, 2361bv64) == 100bv8); + free requires (memory_load8_le(mem, 2362bv64) == 10bv8); + free requires (memory_load8_le(mem, 2363bv64) == 0bv8); + free requires (memory_load8_le(mem, 2364bv64) == 84bv8); + free requires (memory_load8_le(mem, 2365bv64) == 104bv8); + free requires (memory_load8_le(mem, 2366bv64) == 101bv8); + free requires (memory_load8_le(mem, 2367bv64) == 32bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 111bv8); + free requires (memory_load8_le(mem, 2370bv64) == 99bv8); + free requires (memory_load8_le(mem, 2371bv64) == 97bv8); + free requires (memory_load8_le(mem, 2372bv64) == 108bv8); + free requires (memory_load8_le(mem, 2373bv64) == 32bv8); + free requires (memory_load8_le(mem, 2374bv64) == 118bv8); + free requires (memory_load8_le(mem, 2375bv64) == 97bv8); + free requires (memory_load8_le(mem, 2376bv64) == 114bv8); + free requires (memory_load8_le(mem, 2377bv64) == 105bv8); + free requires (memory_load8_le(mem, 2378bv64) == 97bv8); + free requires (memory_load8_le(mem, 2379bv64) == 98bv8); + free requires (memory_load8_le(mem, 2380bv64) == 108bv8); + free requires (memory_load8_le(mem, 2381bv64) == 101bv8); + free requires (memory_load8_le(mem, 2382bv64) == 32bv8); + free requires (memory_load8_le(mem, 2383bv64) == 105bv8); + free requires (memory_load8_le(mem, 2384bv64) == 115bv8); + free requires (memory_load8_le(mem, 2385bv64) == 58bv8); + free requires (memory_load8_le(mem, 2386bv64) == 32bv8); + free requires (memory_load8_le(mem, 2387bv64) == 37bv8); + free requires (memory_load8_le(mem, 2388bv64) == 100bv8); + free requires (memory_load8_le(mem, 2389bv64) == 10bv8); + free requires (memory_load8_le(mem, 2390bv64) == 0bv8); + free requires (memory_load8_le(mem, 2391bv64) == 84bv8); + free requires (memory_load8_le(mem, 2392bv64) == 104bv8); + free requires (memory_load8_le(mem, 2393bv64) == 101bv8); + free requires (memory_load8_le(mem, 2394bv64) == 32bv8); + free requires (memory_load8_le(mem, 2395bv64) == 99bv8); + free requires (memory_load8_le(mem, 2396bv64) == 104bv8); + free requires (memory_load8_le(mem, 2397bv64) == 97bv8); + free requires (memory_load8_le(mem, 2398bv64) == 114bv8); + free requires (memory_load8_le(mem, 2399bv64) == 32bv8); + free requires (memory_load8_le(mem, 2400bv64) == 118bv8); + free requires (memory_load8_le(mem, 2401bv64) == 97bv8); + free requires (memory_load8_le(mem, 2402bv64) == 108bv8); + free requires (memory_load8_le(mem, 2403bv64) == 117bv8); + free requires (memory_load8_le(mem, 2404bv64) == 101bv8); + free requires (memory_load8_le(mem, 2405bv64) == 32bv8); + free requires (memory_load8_le(mem, 2406bv64) == 105bv8); + free requires (memory_load8_le(mem, 2407bv64) == 115bv8); + free requires (memory_load8_le(mem, 2408bv64) == 58bv8); + free requires (memory_load8_le(mem, 2409bv64) == 32bv8); + free requires (memory_load8_le(mem, 2410bv64) == 37bv8); + free requires (memory_load8_le(mem, 2411bv64) == 99bv8); + free requires (memory_load8_le(mem, 2412bv64) == 10bv8); + free requires (memory_load8_le(mem, 2413bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2344bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2407bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2408bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2409bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2410bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2411bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2412bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2413bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); { var #5: bv64; var #6: bv64; @@ -373,3 +1172,207 @@ procedure printCharValue() procedure printf(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2344bv64) == 1bv8); + free requires (memory_load8_le(mem, 2345bv64) == 0bv8); + free requires (memory_load8_le(mem, 2346bv64) == 2bv8); + free requires (memory_load8_le(mem, 2347bv64) == 0bv8); + free requires (memory_load8_le(mem, 2348bv64) == 84bv8); + free requires (memory_load8_le(mem, 2349bv64) == 104bv8); + free requires (memory_load8_le(mem, 2350bv64) == 101bv8); + free requires (memory_load8_le(mem, 2351bv64) == 32bv8); + free requires (memory_load8_le(mem, 2352bv64) == 105bv8); + free requires (memory_load8_le(mem, 2353bv64) == 110bv8); + free requires (memory_load8_le(mem, 2354bv64) == 116bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 105bv8); + free requires (memory_load8_le(mem, 2357bv64) == 115bv8); + free requires (memory_load8_le(mem, 2358bv64) == 58bv8); + free requires (memory_load8_le(mem, 2359bv64) == 32bv8); + free requires (memory_load8_le(mem, 2360bv64) == 37bv8); + free requires (memory_load8_le(mem, 2361bv64) == 100bv8); + free requires (memory_load8_le(mem, 2362bv64) == 10bv8); + free requires (memory_load8_le(mem, 2363bv64) == 0bv8); + free requires (memory_load8_le(mem, 2364bv64) == 84bv8); + free requires (memory_load8_le(mem, 2365bv64) == 104bv8); + free requires (memory_load8_le(mem, 2366bv64) == 101bv8); + free requires (memory_load8_le(mem, 2367bv64) == 32bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 111bv8); + free requires (memory_load8_le(mem, 2370bv64) == 99bv8); + free requires (memory_load8_le(mem, 2371bv64) == 97bv8); + free requires (memory_load8_le(mem, 2372bv64) == 108bv8); + free requires (memory_load8_le(mem, 2373bv64) == 32bv8); + free requires (memory_load8_le(mem, 2374bv64) == 118bv8); + free requires (memory_load8_le(mem, 2375bv64) == 97bv8); + free requires (memory_load8_le(mem, 2376bv64) == 114bv8); + free requires (memory_load8_le(mem, 2377bv64) == 105bv8); + free requires (memory_load8_le(mem, 2378bv64) == 97bv8); + free requires (memory_load8_le(mem, 2379bv64) == 98bv8); + free requires (memory_load8_le(mem, 2380bv64) == 108bv8); + free requires (memory_load8_le(mem, 2381bv64) == 101bv8); + free requires (memory_load8_le(mem, 2382bv64) == 32bv8); + free requires (memory_load8_le(mem, 2383bv64) == 105bv8); + free requires (memory_load8_le(mem, 2384bv64) == 115bv8); + free requires (memory_load8_le(mem, 2385bv64) == 58bv8); + free requires (memory_load8_le(mem, 2386bv64) == 32bv8); + free requires (memory_load8_le(mem, 2387bv64) == 37bv8); + free requires (memory_load8_le(mem, 2388bv64) == 100bv8); + free requires (memory_load8_le(mem, 2389bv64) == 10bv8); + free requires (memory_load8_le(mem, 2390bv64) == 0bv8); + free requires (memory_load8_le(mem, 2391bv64) == 84bv8); + free requires (memory_load8_le(mem, 2392bv64) == 104bv8); + free requires (memory_load8_le(mem, 2393bv64) == 101bv8); + free requires (memory_load8_le(mem, 2394bv64) == 32bv8); + free requires (memory_load8_le(mem, 2395bv64) == 99bv8); + free requires (memory_load8_le(mem, 2396bv64) == 104bv8); + free requires (memory_load8_le(mem, 2397bv64) == 97bv8); + free requires (memory_load8_le(mem, 2398bv64) == 114bv8); + free requires (memory_load8_le(mem, 2399bv64) == 32bv8); + free requires (memory_load8_le(mem, 2400bv64) == 118bv8); + free requires (memory_load8_le(mem, 2401bv64) == 97bv8); + free requires (memory_load8_le(mem, 2402bv64) == 108bv8); + free requires (memory_load8_le(mem, 2403bv64) == 117bv8); + free requires (memory_load8_le(mem, 2404bv64) == 101bv8); + free requires (memory_load8_le(mem, 2405bv64) == 32bv8); + free requires (memory_load8_le(mem, 2406bv64) == 105bv8); + free requires (memory_load8_le(mem, 2407bv64) == 115bv8); + free requires (memory_load8_le(mem, 2408bv64) == 58bv8); + free requires (memory_load8_le(mem, 2409bv64) == 32bv8); + free requires (memory_load8_le(mem, 2410bv64) == 37bv8); + free requires (memory_load8_le(mem, 2411bv64) == 99bv8); + free requires (memory_load8_le(mem, 2412bv64) == 10bv8); + free requires (memory_load8_le(mem, 2413bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2407bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2408bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2409bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2410bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2411bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2412bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2413bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); diff --git a/src/test/correct/malloc_with_local3/clang_O2/malloc_with_local3.expected b/src/test/correct/malloc_with_local3/clang_O2/malloc_with_local3.expected index 21fc319de..71a565f9c 100644 --- a/src/test/correct/malloc_with_local3/clang_O2/malloc_with_local3.expected +++ b/src/test/correct/malloc_with_local3/clang_O2/malloc_with_local3.expected @@ -41,9 +41,110 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1996bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1998bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2000bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2001bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2002bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2003bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2004bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2005bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2006bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2007bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2008bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2009bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2010bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2011bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2012bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2013bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2014bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2016bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2017bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2018bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2019bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2020bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2021bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2022bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2023bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2024bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2032bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2033bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2034bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2035bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2036bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2037bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2038bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2039bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2040bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2041bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2042bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2043bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2044bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2045bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2046bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2047bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2048bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2049bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2050bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2051bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2052bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2053bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2054bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2055bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2056bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2057bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2058bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2059bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2060bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2061bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2062bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2063bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2064bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2065bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -61,6 +162,22 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, stack; + free requires (memory_load8_le(mem, 69672bv64) == 0bv8); + free requires (memory_load8_le(mem, 69673bv64) == 0bv8); + free requires (memory_load8_le(mem, 69674bv64) == 0bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); free requires (memory_load8_le(mem, 1996bv64) == 1bv8); free requires (memory_load8_le(mem, 1997bv64) == 0bv8); free requires (memory_load8_le(mem, 1998bv64) == 2bv8); @@ -131,38 +248,22 @@ procedure main() free requires (memory_load8_le(mem, 2063bv64) == 99bv8); free requires (memory_load8_le(mem, 2064bv64) == 10bv8); free requires (memory_load8_le(mem, 2065bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 84bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -171,22 +272,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 0bv8); - free requires (memory_load8_le(mem, 69673bv64) == 0bv8); - free requires (memory_load8_le(mem, 69674bv64) == 0bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 69680bv64) == 48bv8); free requires (memory_load8_le(mem, 69681bv64) == 16bv8); free requires (memory_load8_le(mem, 69682bv64) == 1bv8); @@ -199,6 +284,108 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1996bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1998bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2000bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2001bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2002bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2003bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2004bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2005bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2006bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2007bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2008bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2009bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2010bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2011bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2012bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2013bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2014bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2016bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2017bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2018bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2019bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2020bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2021bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2022bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2023bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2024bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2032bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2033bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2034bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2035bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2036bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2037bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2038bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2039bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2040bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2041bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2042bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2043bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2044bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2045bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2046bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2047bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2048bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2049bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2050bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2051bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2052bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2053bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2054bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2055bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2056bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2057bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2058bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2059bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2060bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2061bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2062bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2063bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2064bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2065bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -238,3 +425,207 @@ procedure main() procedure printf(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 1996bv64) == 1bv8); + free requires (memory_load8_le(mem, 1997bv64) == 0bv8); + free requires (memory_load8_le(mem, 1998bv64) == 2bv8); + free requires (memory_load8_le(mem, 1999bv64) == 0bv8); + free requires (memory_load8_le(mem, 2000bv64) == 84bv8); + free requires (memory_load8_le(mem, 2001bv64) == 104bv8); + free requires (memory_load8_le(mem, 2002bv64) == 101bv8); + free requires (memory_load8_le(mem, 2003bv64) == 32bv8); + free requires (memory_load8_le(mem, 2004bv64) == 105bv8); + free requires (memory_load8_le(mem, 2005bv64) == 110bv8); + free requires (memory_load8_le(mem, 2006bv64) == 116bv8); + free requires (memory_load8_le(mem, 2007bv64) == 32bv8); + free requires (memory_load8_le(mem, 2008bv64) == 105bv8); + free requires (memory_load8_le(mem, 2009bv64) == 115bv8); + free requires (memory_load8_le(mem, 2010bv64) == 58bv8); + free requires (memory_load8_le(mem, 2011bv64) == 32bv8); + free requires (memory_load8_le(mem, 2012bv64) == 37bv8); + free requires (memory_load8_le(mem, 2013bv64) == 100bv8); + free requires (memory_load8_le(mem, 2014bv64) == 10bv8); + free requires (memory_load8_le(mem, 2015bv64) == 0bv8); + free requires (memory_load8_le(mem, 2016bv64) == 84bv8); + free requires (memory_load8_le(mem, 2017bv64) == 104bv8); + free requires (memory_load8_le(mem, 2018bv64) == 101bv8); + free requires (memory_load8_le(mem, 2019bv64) == 32bv8); + free requires (memory_load8_le(mem, 2020bv64) == 108bv8); + free requires (memory_load8_le(mem, 2021bv64) == 111bv8); + free requires (memory_load8_le(mem, 2022bv64) == 99bv8); + free requires (memory_load8_le(mem, 2023bv64) == 97bv8); + free requires (memory_load8_le(mem, 2024bv64) == 108bv8); + free requires (memory_load8_le(mem, 2025bv64) == 32bv8); + free requires (memory_load8_le(mem, 2026bv64) == 118bv8); + free requires (memory_load8_le(mem, 2027bv64) == 97bv8); + free requires (memory_load8_le(mem, 2028bv64) == 114bv8); + free requires (memory_load8_le(mem, 2029bv64) == 105bv8); + free requires (memory_load8_le(mem, 2030bv64) == 97bv8); + free requires (memory_load8_le(mem, 2031bv64) == 98bv8); + free requires (memory_load8_le(mem, 2032bv64) == 108bv8); + free requires (memory_load8_le(mem, 2033bv64) == 101bv8); + free requires (memory_load8_le(mem, 2034bv64) == 32bv8); + free requires (memory_load8_le(mem, 2035bv64) == 105bv8); + free requires (memory_load8_le(mem, 2036bv64) == 115bv8); + free requires (memory_load8_le(mem, 2037bv64) == 58bv8); + free requires (memory_load8_le(mem, 2038bv64) == 32bv8); + free requires (memory_load8_le(mem, 2039bv64) == 37bv8); + free requires (memory_load8_le(mem, 2040bv64) == 100bv8); + free requires (memory_load8_le(mem, 2041bv64) == 10bv8); + free requires (memory_load8_le(mem, 2042bv64) == 0bv8); + free requires (memory_load8_le(mem, 2043bv64) == 84bv8); + free requires (memory_load8_le(mem, 2044bv64) == 104bv8); + free requires (memory_load8_le(mem, 2045bv64) == 101bv8); + free requires (memory_load8_le(mem, 2046bv64) == 32bv8); + free requires (memory_load8_le(mem, 2047bv64) == 99bv8); + free requires (memory_load8_le(mem, 2048bv64) == 104bv8); + free requires (memory_load8_le(mem, 2049bv64) == 97bv8); + free requires (memory_load8_le(mem, 2050bv64) == 114bv8); + free requires (memory_load8_le(mem, 2051bv64) == 32bv8); + free requires (memory_load8_le(mem, 2052bv64) == 118bv8); + free requires (memory_load8_le(mem, 2053bv64) == 97bv8); + free requires (memory_load8_le(mem, 2054bv64) == 108bv8); + free requires (memory_load8_le(mem, 2055bv64) == 117bv8); + free requires (memory_load8_le(mem, 2056bv64) == 101bv8); + free requires (memory_load8_le(mem, 2057bv64) == 32bv8); + free requires (memory_load8_le(mem, 2058bv64) == 105bv8); + free requires (memory_load8_le(mem, 2059bv64) == 115bv8); + free requires (memory_load8_le(mem, 2060bv64) == 58bv8); + free requires (memory_load8_le(mem, 2061bv64) == 32bv8); + free requires (memory_load8_le(mem, 2062bv64) == 37bv8); + free requires (memory_load8_le(mem, 2063bv64) == 99bv8); + free requires (memory_load8_le(mem, 2064bv64) == 10bv8); + free requires (memory_load8_le(mem, 2065bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 84bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1996bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1998bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2000bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2001bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2002bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2003bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2004bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2005bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2006bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2007bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2008bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2009bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2010bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2011bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2012bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2013bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2014bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2016bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2017bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2018bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2019bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2020bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2021bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2022bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2023bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2024bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2032bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2033bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2034bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2035bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2036bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2037bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2038bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2039bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2040bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2041bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2042bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2043bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2044bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2045bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2046bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2047bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2048bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2049bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2050bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2051bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2052bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2053bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2054bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2055bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2056bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2057bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2058bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2059bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2060bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2061bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2062bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2063bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2064bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2065bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); diff --git a/src/test/correct/malloc_with_local3/clang_no_plt_no_pic/malloc_with_local3.expected b/src/test/correct/malloc_with_local3/clang_no_plt_no_pic/malloc_with_local3.expected index c8da0d736..da6644f81 100644 --- a/src/test/correct/malloc_with_local3/clang_no_plt_no_pic/malloc_with_local3.expected +++ b/src/test/correct/malloc_with_local3/clang_no_plt_no_pic/malloc_with_local3.expected @@ -80,9 +80,110 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2344bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2407bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2408bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2409bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2410bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2411bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2412bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2413bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -100,9 +201,6 @@ procedure guarantee_reflexive(); procedure #free(); modifies Gamma_R16, Gamma_R17, R16, R17; - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 2344bv64) == 1bv8); free requires (memory_load8_le(mem, 2345bv64) == 0bv8); free requires (memory_load8_le(mem, 2346bv64) == 2bv8); @@ -173,38 +271,22 @@ procedure main() free requires (memory_load8_le(mem, 2411bv64) == 99bv8); free requires (memory_load8_le(mem, 2412bv64) == 10bv8); free requires (memory_load8_le(mem, 2413bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 8bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -213,14 +295,119 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2407bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2408bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2409bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2410bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2411bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2412bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2413bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 69688bv64) == 0bv8); free requires (memory_load8_le(mem, 69689bv64) == 0bv8); free requires (memory_load8_le(mem, 69690bv64) == 0bv8); @@ -237,10 +424,214 @@ procedure main() free requires (memory_load8_le(mem, 69701bv64) == 0bv8); free requires (memory_load8_le(mem, 69702bv64) == 0bv8); free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free requires (memory_load8_le(mem, 2344bv64) == 1bv8); + free requires (memory_load8_le(mem, 2345bv64) == 0bv8); + free requires (memory_load8_le(mem, 2346bv64) == 2bv8); + free requires (memory_load8_le(mem, 2347bv64) == 0bv8); + free requires (memory_load8_le(mem, 2348bv64) == 84bv8); + free requires (memory_load8_le(mem, 2349bv64) == 104bv8); + free requires (memory_load8_le(mem, 2350bv64) == 101bv8); + free requires (memory_load8_le(mem, 2351bv64) == 32bv8); + free requires (memory_load8_le(mem, 2352bv64) == 105bv8); + free requires (memory_load8_le(mem, 2353bv64) == 110bv8); + free requires (memory_load8_le(mem, 2354bv64) == 116bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 105bv8); + free requires (memory_load8_le(mem, 2357bv64) == 115bv8); + free requires (memory_load8_le(mem, 2358bv64) == 58bv8); + free requires (memory_load8_le(mem, 2359bv64) == 32bv8); + free requires (memory_load8_le(mem, 2360bv64) == 37bv8); + free requires (memory_load8_le(mem, 2361bv64) == 100bv8); + free requires (memory_load8_le(mem, 2362bv64) == 10bv8); + free requires (memory_load8_le(mem, 2363bv64) == 0bv8); + free requires (memory_load8_le(mem, 2364bv64) == 84bv8); + free requires (memory_load8_le(mem, 2365bv64) == 104bv8); + free requires (memory_load8_le(mem, 2366bv64) == 101bv8); + free requires (memory_load8_le(mem, 2367bv64) == 32bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 111bv8); + free requires (memory_load8_le(mem, 2370bv64) == 99bv8); + free requires (memory_load8_le(mem, 2371bv64) == 97bv8); + free requires (memory_load8_le(mem, 2372bv64) == 108bv8); + free requires (memory_load8_le(mem, 2373bv64) == 32bv8); + free requires (memory_load8_le(mem, 2374bv64) == 118bv8); + free requires (memory_load8_le(mem, 2375bv64) == 97bv8); + free requires (memory_load8_le(mem, 2376bv64) == 114bv8); + free requires (memory_load8_le(mem, 2377bv64) == 105bv8); + free requires (memory_load8_le(mem, 2378bv64) == 97bv8); + free requires (memory_load8_le(mem, 2379bv64) == 98bv8); + free requires (memory_load8_le(mem, 2380bv64) == 108bv8); + free requires (memory_load8_le(mem, 2381bv64) == 101bv8); + free requires (memory_load8_le(mem, 2382bv64) == 32bv8); + free requires (memory_load8_le(mem, 2383bv64) == 105bv8); + free requires (memory_load8_le(mem, 2384bv64) == 115bv8); + free requires (memory_load8_le(mem, 2385bv64) == 58bv8); + free requires (memory_load8_le(mem, 2386bv64) == 32bv8); + free requires (memory_load8_le(mem, 2387bv64) == 37bv8); + free requires (memory_load8_le(mem, 2388bv64) == 100bv8); + free requires (memory_load8_le(mem, 2389bv64) == 10bv8); + free requires (memory_load8_le(mem, 2390bv64) == 0bv8); + free requires (memory_load8_le(mem, 2391bv64) == 84bv8); + free requires (memory_load8_le(mem, 2392bv64) == 104bv8); + free requires (memory_load8_le(mem, 2393bv64) == 101bv8); + free requires (memory_load8_le(mem, 2394bv64) == 32bv8); + free requires (memory_load8_le(mem, 2395bv64) == 99bv8); + free requires (memory_load8_le(mem, 2396bv64) == 104bv8); + free requires (memory_load8_le(mem, 2397bv64) == 97bv8); + free requires (memory_load8_le(mem, 2398bv64) == 114bv8); + free requires (memory_load8_le(mem, 2399bv64) == 32bv8); + free requires (memory_load8_le(mem, 2400bv64) == 118bv8); + free requires (memory_load8_le(mem, 2401bv64) == 97bv8); + free requires (memory_load8_le(mem, 2402bv64) == 108bv8); + free requires (memory_load8_le(mem, 2403bv64) == 117bv8); + free requires (memory_load8_le(mem, 2404bv64) == 101bv8); + free requires (memory_load8_le(mem, 2405bv64) == 32bv8); + free requires (memory_load8_le(mem, 2406bv64) == 105bv8); + free requires (memory_load8_le(mem, 2407bv64) == 115bv8); + free requires (memory_load8_le(mem, 2408bv64) == 58bv8); + free requires (memory_load8_le(mem, 2409bv64) == 32bv8); + free requires (memory_load8_le(mem, 2410bv64) == 37bv8); + free requires (memory_load8_le(mem, 2411bv64) == 99bv8); + free requires (memory_load8_le(mem, 2412bv64) == 10bv8); + free requires (memory_load8_le(mem, 2413bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2344bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2407bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2408bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2409bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2410bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2411bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2412bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2413bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); { var #4: bv64; var #7: bv64; @@ -331,13 +722,421 @@ procedure main() procedure malloc(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2344bv64) == 1bv8); + free requires (memory_load8_le(mem, 2345bv64) == 0bv8); + free requires (memory_load8_le(mem, 2346bv64) == 2bv8); + free requires (memory_load8_le(mem, 2347bv64) == 0bv8); + free requires (memory_load8_le(mem, 2348bv64) == 84bv8); + free requires (memory_load8_le(mem, 2349bv64) == 104bv8); + free requires (memory_load8_le(mem, 2350bv64) == 101bv8); + free requires (memory_load8_le(mem, 2351bv64) == 32bv8); + free requires (memory_load8_le(mem, 2352bv64) == 105bv8); + free requires (memory_load8_le(mem, 2353bv64) == 110bv8); + free requires (memory_load8_le(mem, 2354bv64) == 116bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 105bv8); + free requires (memory_load8_le(mem, 2357bv64) == 115bv8); + free requires (memory_load8_le(mem, 2358bv64) == 58bv8); + free requires (memory_load8_le(mem, 2359bv64) == 32bv8); + free requires (memory_load8_le(mem, 2360bv64) == 37bv8); + free requires (memory_load8_le(mem, 2361bv64) == 100bv8); + free requires (memory_load8_le(mem, 2362bv64) == 10bv8); + free requires (memory_load8_le(mem, 2363bv64) == 0bv8); + free requires (memory_load8_le(mem, 2364bv64) == 84bv8); + free requires (memory_load8_le(mem, 2365bv64) == 104bv8); + free requires (memory_load8_le(mem, 2366bv64) == 101bv8); + free requires (memory_load8_le(mem, 2367bv64) == 32bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 111bv8); + free requires (memory_load8_le(mem, 2370bv64) == 99bv8); + free requires (memory_load8_le(mem, 2371bv64) == 97bv8); + free requires (memory_load8_le(mem, 2372bv64) == 108bv8); + free requires (memory_load8_le(mem, 2373bv64) == 32bv8); + free requires (memory_load8_le(mem, 2374bv64) == 118bv8); + free requires (memory_load8_le(mem, 2375bv64) == 97bv8); + free requires (memory_load8_le(mem, 2376bv64) == 114bv8); + free requires (memory_load8_le(mem, 2377bv64) == 105bv8); + free requires (memory_load8_le(mem, 2378bv64) == 97bv8); + free requires (memory_load8_le(mem, 2379bv64) == 98bv8); + free requires (memory_load8_le(mem, 2380bv64) == 108bv8); + free requires (memory_load8_le(mem, 2381bv64) == 101bv8); + free requires (memory_load8_le(mem, 2382bv64) == 32bv8); + free requires (memory_load8_le(mem, 2383bv64) == 105bv8); + free requires (memory_load8_le(mem, 2384bv64) == 115bv8); + free requires (memory_load8_le(mem, 2385bv64) == 58bv8); + free requires (memory_load8_le(mem, 2386bv64) == 32bv8); + free requires (memory_load8_le(mem, 2387bv64) == 37bv8); + free requires (memory_load8_le(mem, 2388bv64) == 100bv8); + free requires (memory_load8_le(mem, 2389bv64) == 10bv8); + free requires (memory_load8_le(mem, 2390bv64) == 0bv8); + free requires (memory_load8_le(mem, 2391bv64) == 84bv8); + free requires (memory_load8_le(mem, 2392bv64) == 104bv8); + free requires (memory_load8_le(mem, 2393bv64) == 101bv8); + free requires (memory_load8_le(mem, 2394bv64) == 32bv8); + free requires (memory_load8_le(mem, 2395bv64) == 99bv8); + free requires (memory_load8_le(mem, 2396bv64) == 104bv8); + free requires (memory_load8_le(mem, 2397bv64) == 97bv8); + free requires (memory_load8_le(mem, 2398bv64) == 114bv8); + free requires (memory_load8_le(mem, 2399bv64) == 32bv8); + free requires (memory_load8_le(mem, 2400bv64) == 118bv8); + free requires (memory_load8_le(mem, 2401bv64) == 97bv8); + free requires (memory_load8_le(mem, 2402bv64) == 108bv8); + free requires (memory_load8_le(mem, 2403bv64) == 117bv8); + free requires (memory_load8_le(mem, 2404bv64) == 101bv8); + free requires (memory_load8_le(mem, 2405bv64) == 32bv8); + free requires (memory_load8_le(mem, 2406bv64) == 105bv8); + free requires (memory_load8_le(mem, 2407bv64) == 115bv8); + free requires (memory_load8_le(mem, 2408bv64) == 58bv8); + free requires (memory_load8_le(mem, 2409bv64) == 32bv8); + free requires (memory_load8_le(mem, 2410bv64) == 37bv8); + free requires (memory_load8_le(mem, 2411bv64) == 99bv8); + free requires (memory_load8_le(mem, 2412bv64) == 10bv8); + free requires (memory_load8_le(mem, 2413bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2407bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2408bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2409bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2410bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2411bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2412bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2413bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure printCharValue() modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, R8, R9, mem, stack; + free requires (memory_load8_le(mem, 2344bv64) == 1bv8); + free requires (memory_load8_le(mem, 2345bv64) == 0bv8); + free requires (memory_load8_le(mem, 2346bv64) == 2bv8); + free requires (memory_load8_le(mem, 2347bv64) == 0bv8); + free requires (memory_load8_le(mem, 2348bv64) == 84bv8); + free requires (memory_load8_le(mem, 2349bv64) == 104bv8); + free requires (memory_load8_le(mem, 2350bv64) == 101bv8); + free requires (memory_load8_le(mem, 2351bv64) == 32bv8); + free requires (memory_load8_le(mem, 2352bv64) == 105bv8); + free requires (memory_load8_le(mem, 2353bv64) == 110bv8); + free requires (memory_load8_le(mem, 2354bv64) == 116bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 105bv8); + free requires (memory_load8_le(mem, 2357bv64) == 115bv8); + free requires (memory_load8_le(mem, 2358bv64) == 58bv8); + free requires (memory_load8_le(mem, 2359bv64) == 32bv8); + free requires (memory_load8_le(mem, 2360bv64) == 37bv8); + free requires (memory_load8_le(mem, 2361bv64) == 100bv8); + free requires (memory_load8_le(mem, 2362bv64) == 10bv8); + free requires (memory_load8_le(mem, 2363bv64) == 0bv8); + free requires (memory_load8_le(mem, 2364bv64) == 84bv8); + free requires (memory_load8_le(mem, 2365bv64) == 104bv8); + free requires (memory_load8_le(mem, 2366bv64) == 101bv8); + free requires (memory_load8_le(mem, 2367bv64) == 32bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 111bv8); + free requires (memory_load8_le(mem, 2370bv64) == 99bv8); + free requires (memory_load8_le(mem, 2371bv64) == 97bv8); + free requires (memory_load8_le(mem, 2372bv64) == 108bv8); + free requires (memory_load8_le(mem, 2373bv64) == 32bv8); + free requires (memory_load8_le(mem, 2374bv64) == 118bv8); + free requires (memory_load8_le(mem, 2375bv64) == 97bv8); + free requires (memory_load8_le(mem, 2376bv64) == 114bv8); + free requires (memory_load8_le(mem, 2377bv64) == 105bv8); + free requires (memory_load8_le(mem, 2378bv64) == 97bv8); + free requires (memory_load8_le(mem, 2379bv64) == 98bv8); + free requires (memory_load8_le(mem, 2380bv64) == 108bv8); + free requires (memory_load8_le(mem, 2381bv64) == 101bv8); + free requires (memory_load8_le(mem, 2382bv64) == 32bv8); + free requires (memory_load8_le(mem, 2383bv64) == 105bv8); + free requires (memory_load8_le(mem, 2384bv64) == 115bv8); + free requires (memory_load8_le(mem, 2385bv64) == 58bv8); + free requires (memory_load8_le(mem, 2386bv64) == 32bv8); + free requires (memory_load8_le(mem, 2387bv64) == 37bv8); + free requires (memory_load8_le(mem, 2388bv64) == 100bv8); + free requires (memory_load8_le(mem, 2389bv64) == 10bv8); + free requires (memory_load8_le(mem, 2390bv64) == 0bv8); + free requires (memory_load8_le(mem, 2391bv64) == 84bv8); + free requires (memory_load8_le(mem, 2392bv64) == 104bv8); + free requires (memory_load8_le(mem, 2393bv64) == 101bv8); + free requires (memory_load8_le(mem, 2394bv64) == 32bv8); + free requires (memory_load8_le(mem, 2395bv64) == 99bv8); + free requires (memory_load8_le(mem, 2396bv64) == 104bv8); + free requires (memory_load8_le(mem, 2397bv64) == 97bv8); + free requires (memory_load8_le(mem, 2398bv64) == 114bv8); + free requires (memory_load8_le(mem, 2399bv64) == 32bv8); + free requires (memory_load8_le(mem, 2400bv64) == 118bv8); + free requires (memory_load8_le(mem, 2401bv64) == 97bv8); + free requires (memory_load8_le(mem, 2402bv64) == 108bv8); + free requires (memory_load8_le(mem, 2403bv64) == 117bv8); + free requires (memory_load8_le(mem, 2404bv64) == 101bv8); + free requires (memory_load8_le(mem, 2405bv64) == 32bv8); + free requires (memory_load8_le(mem, 2406bv64) == 105bv8); + free requires (memory_load8_le(mem, 2407bv64) == 115bv8); + free requires (memory_load8_le(mem, 2408bv64) == 58bv8); + free requires (memory_load8_le(mem, 2409bv64) == 32bv8); + free requires (memory_load8_le(mem, 2410bv64) == 37bv8); + free requires (memory_load8_le(mem, 2411bv64) == 99bv8); + free requires (memory_load8_le(mem, 2412bv64) == 10bv8); + free requires (memory_load8_le(mem, 2413bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2344bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2407bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2408bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2409bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2410bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2411bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2412bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2413bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); { var #5: bv64; var #6: bv64; @@ -373,3 +1172,207 @@ procedure printCharValue() procedure printf(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2344bv64) == 1bv8); + free requires (memory_load8_le(mem, 2345bv64) == 0bv8); + free requires (memory_load8_le(mem, 2346bv64) == 2bv8); + free requires (memory_load8_le(mem, 2347bv64) == 0bv8); + free requires (memory_load8_le(mem, 2348bv64) == 84bv8); + free requires (memory_load8_le(mem, 2349bv64) == 104bv8); + free requires (memory_load8_le(mem, 2350bv64) == 101bv8); + free requires (memory_load8_le(mem, 2351bv64) == 32bv8); + free requires (memory_load8_le(mem, 2352bv64) == 105bv8); + free requires (memory_load8_le(mem, 2353bv64) == 110bv8); + free requires (memory_load8_le(mem, 2354bv64) == 116bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 105bv8); + free requires (memory_load8_le(mem, 2357bv64) == 115bv8); + free requires (memory_load8_le(mem, 2358bv64) == 58bv8); + free requires (memory_load8_le(mem, 2359bv64) == 32bv8); + free requires (memory_load8_le(mem, 2360bv64) == 37bv8); + free requires (memory_load8_le(mem, 2361bv64) == 100bv8); + free requires (memory_load8_le(mem, 2362bv64) == 10bv8); + free requires (memory_load8_le(mem, 2363bv64) == 0bv8); + free requires (memory_load8_le(mem, 2364bv64) == 84bv8); + free requires (memory_load8_le(mem, 2365bv64) == 104bv8); + free requires (memory_load8_le(mem, 2366bv64) == 101bv8); + free requires (memory_load8_le(mem, 2367bv64) == 32bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 111bv8); + free requires (memory_load8_le(mem, 2370bv64) == 99bv8); + free requires (memory_load8_le(mem, 2371bv64) == 97bv8); + free requires (memory_load8_le(mem, 2372bv64) == 108bv8); + free requires (memory_load8_le(mem, 2373bv64) == 32bv8); + free requires (memory_load8_le(mem, 2374bv64) == 118bv8); + free requires (memory_load8_le(mem, 2375bv64) == 97bv8); + free requires (memory_load8_le(mem, 2376bv64) == 114bv8); + free requires (memory_load8_le(mem, 2377bv64) == 105bv8); + free requires (memory_load8_le(mem, 2378bv64) == 97bv8); + free requires (memory_load8_le(mem, 2379bv64) == 98bv8); + free requires (memory_load8_le(mem, 2380bv64) == 108bv8); + free requires (memory_load8_le(mem, 2381bv64) == 101bv8); + free requires (memory_load8_le(mem, 2382bv64) == 32bv8); + free requires (memory_load8_le(mem, 2383bv64) == 105bv8); + free requires (memory_load8_le(mem, 2384bv64) == 115bv8); + free requires (memory_load8_le(mem, 2385bv64) == 58bv8); + free requires (memory_load8_le(mem, 2386bv64) == 32bv8); + free requires (memory_load8_le(mem, 2387bv64) == 37bv8); + free requires (memory_load8_le(mem, 2388bv64) == 100bv8); + free requires (memory_load8_le(mem, 2389bv64) == 10bv8); + free requires (memory_load8_le(mem, 2390bv64) == 0bv8); + free requires (memory_load8_le(mem, 2391bv64) == 84bv8); + free requires (memory_load8_le(mem, 2392bv64) == 104bv8); + free requires (memory_load8_le(mem, 2393bv64) == 101bv8); + free requires (memory_load8_le(mem, 2394bv64) == 32bv8); + free requires (memory_load8_le(mem, 2395bv64) == 99bv8); + free requires (memory_load8_le(mem, 2396bv64) == 104bv8); + free requires (memory_load8_le(mem, 2397bv64) == 97bv8); + free requires (memory_load8_le(mem, 2398bv64) == 114bv8); + free requires (memory_load8_le(mem, 2399bv64) == 32bv8); + free requires (memory_load8_le(mem, 2400bv64) == 118bv8); + free requires (memory_load8_le(mem, 2401bv64) == 97bv8); + free requires (memory_load8_le(mem, 2402bv64) == 108bv8); + free requires (memory_load8_le(mem, 2403bv64) == 117bv8); + free requires (memory_load8_le(mem, 2404bv64) == 101bv8); + free requires (memory_load8_le(mem, 2405bv64) == 32bv8); + free requires (memory_load8_le(mem, 2406bv64) == 105bv8); + free requires (memory_load8_le(mem, 2407bv64) == 115bv8); + free requires (memory_load8_le(mem, 2408bv64) == 58bv8); + free requires (memory_load8_le(mem, 2409bv64) == 32bv8); + free requires (memory_load8_le(mem, 2410bv64) == 37bv8); + free requires (memory_load8_le(mem, 2411bv64) == 99bv8); + free requires (memory_load8_le(mem, 2412bv64) == 10bv8); + free requires (memory_load8_le(mem, 2413bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2407bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2408bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2409bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2410bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2411bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2412bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2413bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); diff --git a/src/test/correct/malloc_with_local3/clang_pic/malloc_with_local3.expected b/src/test/correct/malloc_with_local3/clang_pic/malloc_with_local3.expected index c8da0d736..da6644f81 100644 --- a/src/test/correct/malloc_with_local3/clang_pic/malloc_with_local3.expected +++ b/src/test/correct/malloc_with_local3/clang_pic/malloc_with_local3.expected @@ -80,9 +80,110 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2344bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2407bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2408bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2409bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2410bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2411bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2412bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2413bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -100,9 +201,6 @@ procedure guarantee_reflexive(); procedure #free(); modifies Gamma_R16, Gamma_R17, R16, R17; - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 2344bv64) == 1bv8); free requires (memory_load8_le(mem, 2345bv64) == 0bv8); free requires (memory_load8_le(mem, 2346bv64) == 2bv8); @@ -173,38 +271,22 @@ procedure main() free requires (memory_load8_le(mem, 2411bv64) == 99bv8); free requires (memory_load8_le(mem, 2412bv64) == 10bv8); free requires (memory_load8_le(mem, 2413bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 8bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -213,14 +295,119 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2407bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2408bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2409bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2410bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2411bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2412bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2413bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 69688bv64) == 0bv8); free requires (memory_load8_le(mem, 69689bv64) == 0bv8); free requires (memory_load8_le(mem, 69690bv64) == 0bv8); @@ -237,10 +424,214 @@ procedure main() free requires (memory_load8_le(mem, 69701bv64) == 0bv8); free requires (memory_load8_le(mem, 69702bv64) == 0bv8); free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free requires (memory_load8_le(mem, 2344bv64) == 1bv8); + free requires (memory_load8_le(mem, 2345bv64) == 0bv8); + free requires (memory_load8_le(mem, 2346bv64) == 2bv8); + free requires (memory_load8_le(mem, 2347bv64) == 0bv8); + free requires (memory_load8_le(mem, 2348bv64) == 84bv8); + free requires (memory_load8_le(mem, 2349bv64) == 104bv8); + free requires (memory_load8_le(mem, 2350bv64) == 101bv8); + free requires (memory_load8_le(mem, 2351bv64) == 32bv8); + free requires (memory_load8_le(mem, 2352bv64) == 105bv8); + free requires (memory_load8_le(mem, 2353bv64) == 110bv8); + free requires (memory_load8_le(mem, 2354bv64) == 116bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 105bv8); + free requires (memory_load8_le(mem, 2357bv64) == 115bv8); + free requires (memory_load8_le(mem, 2358bv64) == 58bv8); + free requires (memory_load8_le(mem, 2359bv64) == 32bv8); + free requires (memory_load8_le(mem, 2360bv64) == 37bv8); + free requires (memory_load8_le(mem, 2361bv64) == 100bv8); + free requires (memory_load8_le(mem, 2362bv64) == 10bv8); + free requires (memory_load8_le(mem, 2363bv64) == 0bv8); + free requires (memory_load8_le(mem, 2364bv64) == 84bv8); + free requires (memory_load8_le(mem, 2365bv64) == 104bv8); + free requires (memory_load8_le(mem, 2366bv64) == 101bv8); + free requires (memory_load8_le(mem, 2367bv64) == 32bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 111bv8); + free requires (memory_load8_le(mem, 2370bv64) == 99bv8); + free requires (memory_load8_le(mem, 2371bv64) == 97bv8); + free requires (memory_load8_le(mem, 2372bv64) == 108bv8); + free requires (memory_load8_le(mem, 2373bv64) == 32bv8); + free requires (memory_load8_le(mem, 2374bv64) == 118bv8); + free requires (memory_load8_le(mem, 2375bv64) == 97bv8); + free requires (memory_load8_le(mem, 2376bv64) == 114bv8); + free requires (memory_load8_le(mem, 2377bv64) == 105bv8); + free requires (memory_load8_le(mem, 2378bv64) == 97bv8); + free requires (memory_load8_le(mem, 2379bv64) == 98bv8); + free requires (memory_load8_le(mem, 2380bv64) == 108bv8); + free requires (memory_load8_le(mem, 2381bv64) == 101bv8); + free requires (memory_load8_le(mem, 2382bv64) == 32bv8); + free requires (memory_load8_le(mem, 2383bv64) == 105bv8); + free requires (memory_load8_le(mem, 2384bv64) == 115bv8); + free requires (memory_load8_le(mem, 2385bv64) == 58bv8); + free requires (memory_load8_le(mem, 2386bv64) == 32bv8); + free requires (memory_load8_le(mem, 2387bv64) == 37bv8); + free requires (memory_load8_le(mem, 2388bv64) == 100bv8); + free requires (memory_load8_le(mem, 2389bv64) == 10bv8); + free requires (memory_load8_le(mem, 2390bv64) == 0bv8); + free requires (memory_load8_le(mem, 2391bv64) == 84bv8); + free requires (memory_load8_le(mem, 2392bv64) == 104bv8); + free requires (memory_load8_le(mem, 2393bv64) == 101bv8); + free requires (memory_load8_le(mem, 2394bv64) == 32bv8); + free requires (memory_load8_le(mem, 2395bv64) == 99bv8); + free requires (memory_load8_le(mem, 2396bv64) == 104bv8); + free requires (memory_load8_le(mem, 2397bv64) == 97bv8); + free requires (memory_load8_le(mem, 2398bv64) == 114bv8); + free requires (memory_load8_le(mem, 2399bv64) == 32bv8); + free requires (memory_load8_le(mem, 2400bv64) == 118bv8); + free requires (memory_load8_le(mem, 2401bv64) == 97bv8); + free requires (memory_load8_le(mem, 2402bv64) == 108bv8); + free requires (memory_load8_le(mem, 2403bv64) == 117bv8); + free requires (memory_load8_le(mem, 2404bv64) == 101bv8); + free requires (memory_load8_le(mem, 2405bv64) == 32bv8); + free requires (memory_load8_le(mem, 2406bv64) == 105bv8); + free requires (memory_load8_le(mem, 2407bv64) == 115bv8); + free requires (memory_load8_le(mem, 2408bv64) == 58bv8); + free requires (memory_load8_le(mem, 2409bv64) == 32bv8); + free requires (memory_load8_le(mem, 2410bv64) == 37bv8); + free requires (memory_load8_le(mem, 2411bv64) == 99bv8); + free requires (memory_load8_le(mem, 2412bv64) == 10bv8); + free requires (memory_load8_le(mem, 2413bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2344bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2407bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2408bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2409bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2410bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2411bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2412bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2413bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); { var #4: bv64; var #7: bv64; @@ -331,13 +722,421 @@ procedure main() procedure malloc(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2344bv64) == 1bv8); + free requires (memory_load8_le(mem, 2345bv64) == 0bv8); + free requires (memory_load8_le(mem, 2346bv64) == 2bv8); + free requires (memory_load8_le(mem, 2347bv64) == 0bv8); + free requires (memory_load8_le(mem, 2348bv64) == 84bv8); + free requires (memory_load8_le(mem, 2349bv64) == 104bv8); + free requires (memory_load8_le(mem, 2350bv64) == 101bv8); + free requires (memory_load8_le(mem, 2351bv64) == 32bv8); + free requires (memory_load8_le(mem, 2352bv64) == 105bv8); + free requires (memory_load8_le(mem, 2353bv64) == 110bv8); + free requires (memory_load8_le(mem, 2354bv64) == 116bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 105bv8); + free requires (memory_load8_le(mem, 2357bv64) == 115bv8); + free requires (memory_load8_le(mem, 2358bv64) == 58bv8); + free requires (memory_load8_le(mem, 2359bv64) == 32bv8); + free requires (memory_load8_le(mem, 2360bv64) == 37bv8); + free requires (memory_load8_le(mem, 2361bv64) == 100bv8); + free requires (memory_load8_le(mem, 2362bv64) == 10bv8); + free requires (memory_load8_le(mem, 2363bv64) == 0bv8); + free requires (memory_load8_le(mem, 2364bv64) == 84bv8); + free requires (memory_load8_le(mem, 2365bv64) == 104bv8); + free requires (memory_load8_le(mem, 2366bv64) == 101bv8); + free requires (memory_load8_le(mem, 2367bv64) == 32bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 111bv8); + free requires (memory_load8_le(mem, 2370bv64) == 99bv8); + free requires (memory_load8_le(mem, 2371bv64) == 97bv8); + free requires (memory_load8_le(mem, 2372bv64) == 108bv8); + free requires (memory_load8_le(mem, 2373bv64) == 32bv8); + free requires (memory_load8_le(mem, 2374bv64) == 118bv8); + free requires (memory_load8_le(mem, 2375bv64) == 97bv8); + free requires (memory_load8_le(mem, 2376bv64) == 114bv8); + free requires (memory_load8_le(mem, 2377bv64) == 105bv8); + free requires (memory_load8_le(mem, 2378bv64) == 97bv8); + free requires (memory_load8_le(mem, 2379bv64) == 98bv8); + free requires (memory_load8_le(mem, 2380bv64) == 108bv8); + free requires (memory_load8_le(mem, 2381bv64) == 101bv8); + free requires (memory_load8_le(mem, 2382bv64) == 32bv8); + free requires (memory_load8_le(mem, 2383bv64) == 105bv8); + free requires (memory_load8_le(mem, 2384bv64) == 115bv8); + free requires (memory_load8_le(mem, 2385bv64) == 58bv8); + free requires (memory_load8_le(mem, 2386bv64) == 32bv8); + free requires (memory_load8_le(mem, 2387bv64) == 37bv8); + free requires (memory_load8_le(mem, 2388bv64) == 100bv8); + free requires (memory_load8_le(mem, 2389bv64) == 10bv8); + free requires (memory_load8_le(mem, 2390bv64) == 0bv8); + free requires (memory_load8_le(mem, 2391bv64) == 84bv8); + free requires (memory_load8_le(mem, 2392bv64) == 104bv8); + free requires (memory_load8_le(mem, 2393bv64) == 101bv8); + free requires (memory_load8_le(mem, 2394bv64) == 32bv8); + free requires (memory_load8_le(mem, 2395bv64) == 99bv8); + free requires (memory_load8_le(mem, 2396bv64) == 104bv8); + free requires (memory_load8_le(mem, 2397bv64) == 97bv8); + free requires (memory_load8_le(mem, 2398bv64) == 114bv8); + free requires (memory_load8_le(mem, 2399bv64) == 32bv8); + free requires (memory_load8_le(mem, 2400bv64) == 118bv8); + free requires (memory_load8_le(mem, 2401bv64) == 97bv8); + free requires (memory_load8_le(mem, 2402bv64) == 108bv8); + free requires (memory_load8_le(mem, 2403bv64) == 117bv8); + free requires (memory_load8_le(mem, 2404bv64) == 101bv8); + free requires (memory_load8_le(mem, 2405bv64) == 32bv8); + free requires (memory_load8_le(mem, 2406bv64) == 105bv8); + free requires (memory_load8_le(mem, 2407bv64) == 115bv8); + free requires (memory_load8_le(mem, 2408bv64) == 58bv8); + free requires (memory_load8_le(mem, 2409bv64) == 32bv8); + free requires (memory_load8_le(mem, 2410bv64) == 37bv8); + free requires (memory_load8_le(mem, 2411bv64) == 99bv8); + free requires (memory_load8_le(mem, 2412bv64) == 10bv8); + free requires (memory_load8_le(mem, 2413bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2407bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2408bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2409bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2410bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2411bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2412bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2413bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure printCharValue() modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, R8, R9, mem, stack; + free requires (memory_load8_le(mem, 2344bv64) == 1bv8); + free requires (memory_load8_le(mem, 2345bv64) == 0bv8); + free requires (memory_load8_le(mem, 2346bv64) == 2bv8); + free requires (memory_load8_le(mem, 2347bv64) == 0bv8); + free requires (memory_load8_le(mem, 2348bv64) == 84bv8); + free requires (memory_load8_le(mem, 2349bv64) == 104bv8); + free requires (memory_load8_le(mem, 2350bv64) == 101bv8); + free requires (memory_load8_le(mem, 2351bv64) == 32bv8); + free requires (memory_load8_le(mem, 2352bv64) == 105bv8); + free requires (memory_load8_le(mem, 2353bv64) == 110bv8); + free requires (memory_load8_le(mem, 2354bv64) == 116bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 105bv8); + free requires (memory_load8_le(mem, 2357bv64) == 115bv8); + free requires (memory_load8_le(mem, 2358bv64) == 58bv8); + free requires (memory_load8_le(mem, 2359bv64) == 32bv8); + free requires (memory_load8_le(mem, 2360bv64) == 37bv8); + free requires (memory_load8_le(mem, 2361bv64) == 100bv8); + free requires (memory_load8_le(mem, 2362bv64) == 10bv8); + free requires (memory_load8_le(mem, 2363bv64) == 0bv8); + free requires (memory_load8_le(mem, 2364bv64) == 84bv8); + free requires (memory_load8_le(mem, 2365bv64) == 104bv8); + free requires (memory_load8_le(mem, 2366bv64) == 101bv8); + free requires (memory_load8_le(mem, 2367bv64) == 32bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 111bv8); + free requires (memory_load8_le(mem, 2370bv64) == 99bv8); + free requires (memory_load8_le(mem, 2371bv64) == 97bv8); + free requires (memory_load8_le(mem, 2372bv64) == 108bv8); + free requires (memory_load8_le(mem, 2373bv64) == 32bv8); + free requires (memory_load8_le(mem, 2374bv64) == 118bv8); + free requires (memory_load8_le(mem, 2375bv64) == 97bv8); + free requires (memory_load8_le(mem, 2376bv64) == 114bv8); + free requires (memory_load8_le(mem, 2377bv64) == 105bv8); + free requires (memory_load8_le(mem, 2378bv64) == 97bv8); + free requires (memory_load8_le(mem, 2379bv64) == 98bv8); + free requires (memory_load8_le(mem, 2380bv64) == 108bv8); + free requires (memory_load8_le(mem, 2381bv64) == 101bv8); + free requires (memory_load8_le(mem, 2382bv64) == 32bv8); + free requires (memory_load8_le(mem, 2383bv64) == 105bv8); + free requires (memory_load8_le(mem, 2384bv64) == 115bv8); + free requires (memory_load8_le(mem, 2385bv64) == 58bv8); + free requires (memory_load8_le(mem, 2386bv64) == 32bv8); + free requires (memory_load8_le(mem, 2387bv64) == 37bv8); + free requires (memory_load8_le(mem, 2388bv64) == 100bv8); + free requires (memory_load8_le(mem, 2389bv64) == 10bv8); + free requires (memory_load8_le(mem, 2390bv64) == 0bv8); + free requires (memory_load8_le(mem, 2391bv64) == 84bv8); + free requires (memory_load8_le(mem, 2392bv64) == 104bv8); + free requires (memory_load8_le(mem, 2393bv64) == 101bv8); + free requires (memory_load8_le(mem, 2394bv64) == 32bv8); + free requires (memory_load8_le(mem, 2395bv64) == 99bv8); + free requires (memory_load8_le(mem, 2396bv64) == 104bv8); + free requires (memory_load8_le(mem, 2397bv64) == 97bv8); + free requires (memory_load8_le(mem, 2398bv64) == 114bv8); + free requires (memory_load8_le(mem, 2399bv64) == 32bv8); + free requires (memory_load8_le(mem, 2400bv64) == 118bv8); + free requires (memory_load8_le(mem, 2401bv64) == 97bv8); + free requires (memory_load8_le(mem, 2402bv64) == 108bv8); + free requires (memory_load8_le(mem, 2403bv64) == 117bv8); + free requires (memory_load8_le(mem, 2404bv64) == 101bv8); + free requires (memory_load8_le(mem, 2405bv64) == 32bv8); + free requires (memory_load8_le(mem, 2406bv64) == 105bv8); + free requires (memory_load8_le(mem, 2407bv64) == 115bv8); + free requires (memory_load8_le(mem, 2408bv64) == 58bv8); + free requires (memory_load8_le(mem, 2409bv64) == 32bv8); + free requires (memory_load8_le(mem, 2410bv64) == 37bv8); + free requires (memory_load8_le(mem, 2411bv64) == 99bv8); + free requires (memory_load8_le(mem, 2412bv64) == 10bv8); + free requires (memory_load8_le(mem, 2413bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2344bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2407bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2408bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2409bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2410bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2411bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2412bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2413bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); { var #5: bv64; var #6: bv64; @@ -373,3 +1172,207 @@ procedure printCharValue() procedure printf(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2344bv64) == 1bv8); + free requires (memory_load8_le(mem, 2345bv64) == 0bv8); + free requires (memory_load8_le(mem, 2346bv64) == 2bv8); + free requires (memory_load8_le(mem, 2347bv64) == 0bv8); + free requires (memory_load8_le(mem, 2348bv64) == 84bv8); + free requires (memory_load8_le(mem, 2349bv64) == 104bv8); + free requires (memory_load8_le(mem, 2350bv64) == 101bv8); + free requires (memory_load8_le(mem, 2351bv64) == 32bv8); + free requires (memory_load8_le(mem, 2352bv64) == 105bv8); + free requires (memory_load8_le(mem, 2353bv64) == 110bv8); + free requires (memory_load8_le(mem, 2354bv64) == 116bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 105bv8); + free requires (memory_load8_le(mem, 2357bv64) == 115bv8); + free requires (memory_load8_le(mem, 2358bv64) == 58bv8); + free requires (memory_load8_le(mem, 2359bv64) == 32bv8); + free requires (memory_load8_le(mem, 2360bv64) == 37bv8); + free requires (memory_load8_le(mem, 2361bv64) == 100bv8); + free requires (memory_load8_le(mem, 2362bv64) == 10bv8); + free requires (memory_load8_le(mem, 2363bv64) == 0bv8); + free requires (memory_load8_le(mem, 2364bv64) == 84bv8); + free requires (memory_load8_le(mem, 2365bv64) == 104bv8); + free requires (memory_load8_le(mem, 2366bv64) == 101bv8); + free requires (memory_load8_le(mem, 2367bv64) == 32bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 111bv8); + free requires (memory_load8_le(mem, 2370bv64) == 99bv8); + free requires (memory_load8_le(mem, 2371bv64) == 97bv8); + free requires (memory_load8_le(mem, 2372bv64) == 108bv8); + free requires (memory_load8_le(mem, 2373bv64) == 32bv8); + free requires (memory_load8_le(mem, 2374bv64) == 118bv8); + free requires (memory_load8_le(mem, 2375bv64) == 97bv8); + free requires (memory_load8_le(mem, 2376bv64) == 114bv8); + free requires (memory_load8_le(mem, 2377bv64) == 105bv8); + free requires (memory_load8_le(mem, 2378bv64) == 97bv8); + free requires (memory_load8_le(mem, 2379bv64) == 98bv8); + free requires (memory_load8_le(mem, 2380bv64) == 108bv8); + free requires (memory_load8_le(mem, 2381bv64) == 101bv8); + free requires (memory_load8_le(mem, 2382bv64) == 32bv8); + free requires (memory_load8_le(mem, 2383bv64) == 105bv8); + free requires (memory_load8_le(mem, 2384bv64) == 115bv8); + free requires (memory_load8_le(mem, 2385bv64) == 58bv8); + free requires (memory_load8_le(mem, 2386bv64) == 32bv8); + free requires (memory_load8_le(mem, 2387bv64) == 37bv8); + free requires (memory_load8_le(mem, 2388bv64) == 100bv8); + free requires (memory_load8_le(mem, 2389bv64) == 10bv8); + free requires (memory_load8_le(mem, 2390bv64) == 0bv8); + free requires (memory_load8_le(mem, 2391bv64) == 84bv8); + free requires (memory_load8_le(mem, 2392bv64) == 104bv8); + free requires (memory_load8_le(mem, 2393bv64) == 101bv8); + free requires (memory_load8_le(mem, 2394bv64) == 32bv8); + free requires (memory_load8_le(mem, 2395bv64) == 99bv8); + free requires (memory_load8_le(mem, 2396bv64) == 104bv8); + free requires (memory_load8_le(mem, 2397bv64) == 97bv8); + free requires (memory_load8_le(mem, 2398bv64) == 114bv8); + free requires (memory_load8_le(mem, 2399bv64) == 32bv8); + free requires (memory_load8_le(mem, 2400bv64) == 118bv8); + free requires (memory_load8_le(mem, 2401bv64) == 97bv8); + free requires (memory_load8_le(mem, 2402bv64) == 108bv8); + free requires (memory_load8_le(mem, 2403bv64) == 117bv8); + free requires (memory_load8_le(mem, 2404bv64) == 101bv8); + free requires (memory_load8_le(mem, 2405bv64) == 32bv8); + free requires (memory_load8_le(mem, 2406bv64) == 105bv8); + free requires (memory_load8_le(mem, 2407bv64) == 115bv8); + free requires (memory_load8_le(mem, 2408bv64) == 58bv8); + free requires (memory_load8_le(mem, 2409bv64) == 32bv8); + free requires (memory_load8_le(mem, 2410bv64) == 37bv8); + free requires (memory_load8_le(mem, 2411bv64) == 99bv8); + free requires (memory_load8_le(mem, 2412bv64) == 10bv8); + free requires (memory_load8_le(mem, 2413bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2407bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2408bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2409bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2410bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2411bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2412bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2413bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); diff --git a/src/test/correct/malloc_with_local3/gcc/malloc_with_local3.expected b/src/test/correct/malloc_with_local3/gcc/malloc_with_local3.expected index 51c22a0cd..db7ec5f03 100644 --- a/src/test/correct/malloc_with_local3/gcc/malloc_with_local3.expected +++ b/src/test/correct/malloc_with_local3/gcc/malloc_with_local3.expected @@ -76,9 +76,119 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2328bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -96,9 +206,6 @@ procedure guarantee_reflexive(); procedure #free(); modifies Gamma_R16, Gamma_R17, R16, R17; - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 2328bv64) == 1bv8); free requires (memory_load8_le(mem, 2329bv64) == 0bv8); free requires (memory_load8_le(mem, 2330bv64) == 2bv8); @@ -178,118 +285,22 @@ procedure main() free requires (memory_load8_le(mem, 2404bv64) == 99bv8); free requires (memory_load8_le(mem, 2405bv64) == 10bv8); free requires (memory_load8_le(mem, 2406bv64) == 0bv8); - free requires (memory_load8_le(mem, 69504bv64) == 0bv8); - free requires (memory_load8_le(mem, 69505bv64) == 0bv8); - free requires (memory_load8_le(mem, 69506bv64) == 0bv8); - free requires (memory_load8_le(mem, 69507bv64) == 0bv8); - free requires (memory_load8_le(mem, 69508bv64) == 0bv8); - free requires (memory_load8_le(mem, 69509bv64) == 0bv8); - free requires (memory_load8_le(mem, 69510bv64) == 0bv8); - free requires (memory_load8_le(mem, 69511bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 64bv8); - free requires (memory_load8_le(mem, 69529bv64) == 6bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 64bv8); - free requires (memory_load8_le(mem, 69537bv64) == 6bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 64bv8); - free requires (memory_load8_le(mem, 69545bv64) == 6bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 64bv8); - free requires (memory_load8_le(mem, 69553bv64) == 6bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 64bv8); - free requires (memory_load8_le(mem, 69561bv64) == 6bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 64bv8); - free requires (memory_load8_le(mem, 69569bv64) == 6bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 64bv8); - free requires (memory_load8_le(mem, 69577bv64) == 6bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 144bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 8bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -298,14 +309,128 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -322,10 +447,232 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 2328bv64) == 1bv8); + free requires (memory_load8_le(mem, 2329bv64) == 0bv8); + free requires (memory_load8_le(mem, 2330bv64) == 2bv8); + free requires (memory_load8_le(mem, 2331bv64) == 0bv8); + free requires (memory_load8_le(mem, 2332bv64) == 0bv8); + free requires (memory_load8_le(mem, 2333bv64) == 0bv8); + free requires (memory_load8_le(mem, 2334bv64) == 0bv8); + free requires (memory_load8_le(mem, 2335bv64) == 0bv8); + free requires (memory_load8_le(mem, 2336bv64) == 84bv8); + free requires (memory_load8_le(mem, 2337bv64) == 104bv8); + free requires (memory_load8_le(mem, 2338bv64) == 101bv8); + free requires (memory_load8_le(mem, 2339bv64) == 32bv8); + free requires (memory_load8_le(mem, 2340bv64) == 105bv8); + free requires (memory_load8_le(mem, 2341bv64) == 110bv8); + free requires (memory_load8_le(mem, 2342bv64) == 116bv8); + free requires (memory_load8_le(mem, 2343bv64) == 32bv8); + free requires (memory_load8_le(mem, 2344bv64) == 105bv8); + free requires (memory_load8_le(mem, 2345bv64) == 115bv8); + free requires (memory_load8_le(mem, 2346bv64) == 58bv8); + free requires (memory_load8_le(mem, 2347bv64) == 32bv8); + free requires (memory_load8_le(mem, 2348bv64) == 37bv8); + free requires (memory_load8_le(mem, 2349bv64) == 100bv8); + free requires (memory_load8_le(mem, 2350bv64) == 10bv8); + free requires (memory_load8_le(mem, 2351bv64) == 0bv8); + free requires (memory_load8_le(mem, 2352bv64) == 84bv8); + free requires (memory_load8_le(mem, 2353bv64) == 104bv8); + free requires (memory_load8_le(mem, 2354bv64) == 101bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 108bv8); + free requires (memory_load8_le(mem, 2357bv64) == 111bv8); + free requires (memory_load8_le(mem, 2358bv64) == 99bv8); + free requires (memory_load8_le(mem, 2359bv64) == 97bv8); + free requires (memory_load8_le(mem, 2360bv64) == 108bv8); + free requires (memory_load8_le(mem, 2361bv64) == 32bv8); + free requires (memory_load8_le(mem, 2362bv64) == 118bv8); + free requires (memory_load8_le(mem, 2363bv64) == 97bv8); + free requires (memory_load8_le(mem, 2364bv64) == 114bv8); + free requires (memory_load8_le(mem, 2365bv64) == 105bv8); + free requires (memory_load8_le(mem, 2366bv64) == 97bv8); + free requires (memory_load8_le(mem, 2367bv64) == 98bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 101bv8); + free requires (memory_load8_le(mem, 2370bv64) == 32bv8); + free requires (memory_load8_le(mem, 2371bv64) == 105bv8); + free requires (memory_load8_le(mem, 2372bv64) == 115bv8); + free requires (memory_load8_le(mem, 2373bv64) == 58bv8); + free requires (memory_load8_le(mem, 2374bv64) == 32bv8); + free requires (memory_load8_le(mem, 2375bv64) == 37bv8); + free requires (memory_load8_le(mem, 2376bv64) == 100bv8); + free requires (memory_load8_le(mem, 2377bv64) == 10bv8); + free requires (memory_load8_le(mem, 2378bv64) == 0bv8); + free requires (memory_load8_le(mem, 2379bv64) == 0bv8); + free requires (memory_load8_le(mem, 2380bv64) == 0bv8); + free requires (memory_load8_le(mem, 2381bv64) == 0bv8); + free requires (memory_load8_le(mem, 2382bv64) == 0bv8); + free requires (memory_load8_le(mem, 2383bv64) == 0bv8); + free requires (memory_load8_le(mem, 2384bv64) == 84bv8); + free requires (memory_load8_le(mem, 2385bv64) == 104bv8); + free requires (memory_load8_le(mem, 2386bv64) == 101bv8); + free requires (memory_load8_le(mem, 2387bv64) == 32bv8); + free requires (memory_load8_le(mem, 2388bv64) == 99bv8); + free requires (memory_load8_le(mem, 2389bv64) == 104bv8); + free requires (memory_load8_le(mem, 2390bv64) == 97bv8); + free requires (memory_load8_le(mem, 2391bv64) == 114bv8); + free requires (memory_load8_le(mem, 2392bv64) == 32bv8); + free requires (memory_load8_le(mem, 2393bv64) == 118bv8); + free requires (memory_load8_le(mem, 2394bv64) == 97bv8); + free requires (memory_load8_le(mem, 2395bv64) == 108bv8); + free requires (memory_load8_le(mem, 2396bv64) == 117bv8); + free requires (memory_load8_le(mem, 2397bv64) == 101bv8); + free requires (memory_load8_le(mem, 2398bv64) == 32bv8); + free requires (memory_load8_le(mem, 2399bv64) == 105bv8); + free requires (memory_load8_le(mem, 2400bv64) == 115bv8); + free requires (memory_load8_le(mem, 2401bv64) == 58bv8); + free requires (memory_load8_le(mem, 2402bv64) == 32bv8); + free requires (memory_load8_le(mem, 2403bv64) == 37bv8); + free requires (memory_load8_le(mem, 2404bv64) == 99bv8); + free requires (memory_load8_le(mem, 2405bv64) == 10bv8); + free requires (memory_load8_le(mem, 2406bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2328bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -409,13 +756,457 @@ procedure main() procedure malloc(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2328bv64) == 1bv8); + free requires (memory_load8_le(mem, 2329bv64) == 0bv8); + free requires (memory_load8_le(mem, 2330bv64) == 2bv8); + free requires (memory_load8_le(mem, 2331bv64) == 0bv8); + free requires (memory_load8_le(mem, 2332bv64) == 0bv8); + free requires (memory_load8_le(mem, 2333bv64) == 0bv8); + free requires (memory_load8_le(mem, 2334bv64) == 0bv8); + free requires (memory_load8_le(mem, 2335bv64) == 0bv8); + free requires (memory_load8_le(mem, 2336bv64) == 84bv8); + free requires (memory_load8_le(mem, 2337bv64) == 104bv8); + free requires (memory_load8_le(mem, 2338bv64) == 101bv8); + free requires (memory_load8_le(mem, 2339bv64) == 32bv8); + free requires (memory_load8_le(mem, 2340bv64) == 105bv8); + free requires (memory_load8_le(mem, 2341bv64) == 110bv8); + free requires (memory_load8_le(mem, 2342bv64) == 116bv8); + free requires (memory_load8_le(mem, 2343bv64) == 32bv8); + free requires (memory_load8_le(mem, 2344bv64) == 105bv8); + free requires (memory_load8_le(mem, 2345bv64) == 115bv8); + free requires (memory_load8_le(mem, 2346bv64) == 58bv8); + free requires (memory_load8_le(mem, 2347bv64) == 32bv8); + free requires (memory_load8_le(mem, 2348bv64) == 37bv8); + free requires (memory_load8_le(mem, 2349bv64) == 100bv8); + free requires (memory_load8_le(mem, 2350bv64) == 10bv8); + free requires (memory_load8_le(mem, 2351bv64) == 0bv8); + free requires (memory_load8_le(mem, 2352bv64) == 84bv8); + free requires (memory_load8_le(mem, 2353bv64) == 104bv8); + free requires (memory_load8_le(mem, 2354bv64) == 101bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 108bv8); + free requires (memory_load8_le(mem, 2357bv64) == 111bv8); + free requires (memory_load8_le(mem, 2358bv64) == 99bv8); + free requires (memory_load8_le(mem, 2359bv64) == 97bv8); + free requires (memory_load8_le(mem, 2360bv64) == 108bv8); + free requires (memory_load8_le(mem, 2361bv64) == 32bv8); + free requires (memory_load8_le(mem, 2362bv64) == 118bv8); + free requires (memory_load8_le(mem, 2363bv64) == 97bv8); + free requires (memory_load8_le(mem, 2364bv64) == 114bv8); + free requires (memory_load8_le(mem, 2365bv64) == 105bv8); + free requires (memory_load8_le(mem, 2366bv64) == 97bv8); + free requires (memory_load8_le(mem, 2367bv64) == 98bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 101bv8); + free requires (memory_load8_le(mem, 2370bv64) == 32bv8); + free requires (memory_load8_le(mem, 2371bv64) == 105bv8); + free requires (memory_load8_le(mem, 2372bv64) == 115bv8); + free requires (memory_load8_le(mem, 2373bv64) == 58bv8); + free requires (memory_load8_le(mem, 2374bv64) == 32bv8); + free requires (memory_load8_le(mem, 2375bv64) == 37bv8); + free requires (memory_load8_le(mem, 2376bv64) == 100bv8); + free requires (memory_load8_le(mem, 2377bv64) == 10bv8); + free requires (memory_load8_le(mem, 2378bv64) == 0bv8); + free requires (memory_load8_le(mem, 2379bv64) == 0bv8); + free requires (memory_load8_le(mem, 2380bv64) == 0bv8); + free requires (memory_load8_le(mem, 2381bv64) == 0bv8); + free requires (memory_load8_le(mem, 2382bv64) == 0bv8); + free requires (memory_load8_le(mem, 2383bv64) == 0bv8); + free requires (memory_load8_le(mem, 2384bv64) == 84bv8); + free requires (memory_load8_le(mem, 2385bv64) == 104bv8); + free requires (memory_load8_le(mem, 2386bv64) == 101bv8); + free requires (memory_load8_le(mem, 2387bv64) == 32bv8); + free requires (memory_load8_le(mem, 2388bv64) == 99bv8); + free requires (memory_load8_le(mem, 2389bv64) == 104bv8); + free requires (memory_load8_le(mem, 2390bv64) == 97bv8); + free requires (memory_load8_le(mem, 2391bv64) == 114bv8); + free requires (memory_load8_le(mem, 2392bv64) == 32bv8); + free requires (memory_load8_le(mem, 2393bv64) == 118bv8); + free requires (memory_load8_le(mem, 2394bv64) == 97bv8); + free requires (memory_load8_le(mem, 2395bv64) == 108bv8); + free requires (memory_load8_le(mem, 2396bv64) == 117bv8); + free requires (memory_load8_le(mem, 2397bv64) == 101bv8); + free requires (memory_load8_le(mem, 2398bv64) == 32bv8); + free requires (memory_load8_le(mem, 2399bv64) == 105bv8); + free requires (memory_load8_le(mem, 2400bv64) == 115bv8); + free requires (memory_load8_le(mem, 2401bv64) == 58bv8); + free requires (memory_load8_le(mem, 2402bv64) == 32bv8); + free requires (memory_load8_le(mem, 2403bv64) == 37bv8); + free requires (memory_load8_le(mem, 2404bv64) == 99bv8); + free requires (memory_load8_le(mem, 2405bv64) == 10bv8); + free requires (memory_load8_le(mem, 2406bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure printCharValue() modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, mem, stack; + free requires (memory_load8_le(mem, 2328bv64) == 1bv8); + free requires (memory_load8_le(mem, 2329bv64) == 0bv8); + free requires (memory_load8_le(mem, 2330bv64) == 2bv8); + free requires (memory_load8_le(mem, 2331bv64) == 0bv8); + free requires (memory_load8_le(mem, 2332bv64) == 0bv8); + free requires (memory_load8_le(mem, 2333bv64) == 0bv8); + free requires (memory_load8_le(mem, 2334bv64) == 0bv8); + free requires (memory_load8_le(mem, 2335bv64) == 0bv8); + free requires (memory_load8_le(mem, 2336bv64) == 84bv8); + free requires (memory_load8_le(mem, 2337bv64) == 104bv8); + free requires (memory_load8_le(mem, 2338bv64) == 101bv8); + free requires (memory_load8_le(mem, 2339bv64) == 32bv8); + free requires (memory_load8_le(mem, 2340bv64) == 105bv8); + free requires (memory_load8_le(mem, 2341bv64) == 110bv8); + free requires (memory_load8_le(mem, 2342bv64) == 116bv8); + free requires (memory_load8_le(mem, 2343bv64) == 32bv8); + free requires (memory_load8_le(mem, 2344bv64) == 105bv8); + free requires (memory_load8_le(mem, 2345bv64) == 115bv8); + free requires (memory_load8_le(mem, 2346bv64) == 58bv8); + free requires (memory_load8_le(mem, 2347bv64) == 32bv8); + free requires (memory_load8_le(mem, 2348bv64) == 37bv8); + free requires (memory_load8_le(mem, 2349bv64) == 100bv8); + free requires (memory_load8_le(mem, 2350bv64) == 10bv8); + free requires (memory_load8_le(mem, 2351bv64) == 0bv8); + free requires (memory_load8_le(mem, 2352bv64) == 84bv8); + free requires (memory_load8_le(mem, 2353bv64) == 104bv8); + free requires (memory_load8_le(mem, 2354bv64) == 101bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 108bv8); + free requires (memory_load8_le(mem, 2357bv64) == 111bv8); + free requires (memory_load8_le(mem, 2358bv64) == 99bv8); + free requires (memory_load8_le(mem, 2359bv64) == 97bv8); + free requires (memory_load8_le(mem, 2360bv64) == 108bv8); + free requires (memory_load8_le(mem, 2361bv64) == 32bv8); + free requires (memory_load8_le(mem, 2362bv64) == 118bv8); + free requires (memory_load8_le(mem, 2363bv64) == 97bv8); + free requires (memory_load8_le(mem, 2364bv64) == 114bv8); + free requires (memory_load8_le(mem, 2365bv64) == 105bv8); + free requires (memory_load8_le(mem, 2366bv64) == 97bv8); + free requires (memory_load8_le(mem, 2367bv64) == 98bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 101bv8); + free requires (memory_load8_le(mem, 2370bv64) == 32bv8); + free requires (memory_load8_le(mem, 2371bv64) == 105bv8); + free requires (memory_load8_le(mem, 2372bv64) == 115bv8); + free requires (memory_load8_le(mem, 2373bv64) == 58bv8); + free requires (memory_load8_le(mem, 2374bv64) == 32bv8); + free requires (memory_load8_le(mem, 2375bv64) == 37bv8); + free requires (memory_load8_le(mem, 2376bv64) == 100bv8); + free requires (memory_load8_le(mem, 2377bv64) == 10bv8); + free requires (memory_load8_le(mem, 2378bv64) == 0bv8); + free requires (memory_load8_le(mem, 2379bv64) == 0bv8); + free requires (memory_load8_le(mem, 2380bv64) == 0bv8); + free requires (memory_load8_le(mem, 2381bv64) == 0bv8); + free requires (memory_load8_le(mem, 2382bv64) == 0bv8); + free requires (memory_load8_le(mem, 2383bv64) == 0bv8); + free requires (memory_load8_le(mem, 2384bv64) == 84bv8); + free requires (memory_load8_le(mem, 2385bv64) == 104bv8); + free requires (memory_load8_le(mem, 2386bv64) == 101bv8); + free requires (memory_load8_le(mem, 2387bv64) == 32bv8); + free requires (memory_load8_le(mem, 2388bv64) == 99bv8); + free requires (memory_load8_le(mem, 2389bv64) == 104bv8); + free requires (memory_load8_le(mem, 2390bv64) == 97bv8); + free requires (memory_load8_le(mem, 2391bv64) == 114bv8); + free requires (memory_load8_le(mem, 2392bv64) == 32bv8); + free requires (memory_load8_le(mem, 2393bv64) == 118bv8); + free requires (memory_load8_le(mem, 2394bv64) == 97bv8); + free requires (memory_load8_le(mem, 2395bv64) == 108bv8); + free requires (memory_load8_le(mem, 2396bv64) == 117bv8); + free requires (memory_load8_le(mem, 2397bv64) == 101bv8); + free requires (memory_load8_le(mem, 2398bv64) == 32bv8); + free requires (memory_load8_le(mem, 2399bv64) == 105bv8); + free requires (memory_load8_le(mem, 2400bv64) == 115bv8); + free requires (memory_load8_le(mem, 2401bv64) == 58bv8); + free requires (memory_load8_le(mem, 2402bv64) == 32bv8); + free requires (memory_load8_le(mem, 2403bv64) == 37bv8); + free requires (memory_load8_le(mem, 2404bv64) == 99bv8); + free requires (memory_load8_le(mem, 2405bv64) == 10bv8); + free requires (memory_load8_le(mem, 2406bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2328bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #5: bv64; var Gamma_#5: bool; @@ -451,3 +1242,225 @@ procedure printCharValue() procedure printf(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2328bv64) == 1bv8); + free requires (memory_load8_le(mem, 2329bv64) == 0bv8); + free requires (memory_load8_le(mem, 2330bv64) == 2bv8); + free requires (memory_load8_le(mem, 2331bv64) == 0bv8); + free requires (memory_load8_le(mem, 2332bv64) == 0bv8); + free requires (memory_load8_le(mem, 2333bv64) == 0bv8); + free requires (memory_load8_le(mem, 2334bv64) == 0bv8); + free requires (memory_load8_le(mem, 2335bv64) == 0bv8); + free requires (memory_load8_le(mem, 2336bv64) == 84bv8); + free requires (memory_load8_le(mem, 2337bv64) == 104bv8); + free requires (memory_load8_le(mem, 2338bv64) == 101bv8); + free requires (memory_load8_le(mem, 2339bv64) == 32bv8); + free requires (memory_load8_le(mem, 2340bv64) == 105bv8); + free requires (memory_load8_le(mem, 2341bv64) == 110bv8); + free requires (memory_load8_le(mem, 2342bv64) == 116bv8); + free requires (memory_load8_le(mem, 2343bv64) == 32bv8); + free requires (memory_load8_le(mem, 2344bv64) == 105bv8); + free requires (memory_load8_le(mem, 2345bv64) == 115bv8); + free requires (memory_load8_le(mem, 2346bv64) == 58bv8); + free requires (memory_load8_le(mem, 2347bv64) == 32bv8); + free requires (memory_load8_le(mem, 2348bv64) == 37bv8); + free requires (memory_load8_le(mem, 2349bv64) == 100bv8); + free requires (memory_load8_le(mem, 2350bv64) == 10bv8); + free requires (memory_load8_le(mem, 2351bv64) == 0bv8); + free requires (memory_load8_le(mem, 2352bv64) == 84bv8); + free requires (memory_load8_le(mem, 2353bv64) == 104bv8); + free requires (memory_load8_le(mem, 2354bv64) == 101bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 108bv8); + free requires (memory_load8_le(mem, 2357bv64) == 111bv8); + free requires (memory_load8_le(mem, 2358bv64) == 99bv8); + free requires (memory_load8_le(mem, 2359bv64) == 97bv8); + free requires (memory_load8_le(mem, 2360bv64) == 108bv8); + free requires (memory_load8_le(mem, 2361bv64) == 32bv8); + free requires (memory_load8_le(mem, 2362bv64) == 118bv8); + free requires (memory_load8_le(mem, 2363bv64) == 97bv8); + free requires (memory_load8_le(mem, 2364bv64) == 114bv8); + free requires (memory_load8_le(mem, 2365bv64) == 105bv8); + free requires (memory_load8_le(mem, 2366bv64) == 97bv8); + free requires (memory_load8_le(mem, 2367bv64) == 98bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 101bv8); + free requires (memory_load8_le(mem, 2370bv64) == 32bv8); + free requires (memory_load8_le(mem, 2371bv64) == 105bv8); + free requires (memory_load8_le(mem, 2372bv64) == 115bv8); + free requires (memory_load8_le(mem, 2373bv64) == 58bv8); + free requires (memory_load8_le(mem, 2374bv64) == 32bv8); + free requires (memory_load8_le(mem, 2375bv64) == 37bv8); + free requires (memory_load8_le(mem, 2376bv64) == 100bv8); + free requires (memory_load8_le(mem, 2377bv64) == 10bv8); + free requires (memory_load8_le(mem, 2378bv64) == 0bv8); + free requires (memory_load8_le(mem, 2379bv64) == 0bv8); + free requires (memory_load8_le(mem, 2380bv64) == 0bv8); + free requires (memory_load8_le(mem, 2381bv64) == 0bv8); + free requires (memory_load8_le(mem, 2382bv64) == 0bv8); + free requires (memory_load8_le(mem, 2383bv64) == 0bv8); + free requires (memory_load8_le(mem, 2384bv64) == 84bv8); + free requires (memory_load8_le(mem, 2385bv64) == 104bv8); + free requires (memory_load8_le(mem, 2386bv64) == 101bv8); + free requires (memory_load8_le(mem, 2387bv64) == 32bv8); + free requires (memory_load8_le(mem, 2388bv64) == 99bv8); + free requires (memory_load8_le(mem, 2389bv64) == 104bv8); + free requires (memory_load8_le(mem, 2390bv64) == 97bv8); + free requires (memory_load8_le(mem, 2391bv64) == 114bv8); + free requires (memory_load8_le(mem, 2392bv64) == 32bv8); + free requires (memory_load8_le(mem, 2393bv64) == 118bv8); + free requires (memory_load8_le(mem, 2394bv64) == 97bv8); + free requires (memory_load8_le(mem, 2395bv64) == 108bv8); + free requires (memory_load8_le(mem, 2396bv64) == 117bv8); + free requires (memory_load8_le(mem, 2397bv64) == 101bv8); + free requires (memory_load8_le(mem, 2398bv64) == 32bv8); + free requires (memory_load8_le(mem, 2399bv64) == 105bv8); + free requires (memory_load8_le(mem, 2400bv64) == 115bv8); + free requires (memory_load8_le(mem, 2401bv64) == 58bv8); + free requires (memory_load8_le(mem, 2402bv64) == 32bv8); + free requires (memory_load8_le(mem, 2403bv64) == 37bv8); + free requires (memory_load8_le(mem, 2404bv64) == 99bv8); + free requires (memory_load8_le(mem, 2405bv64) == 10bv8); + free requires (memory_load8_le(mem, 2406bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); diff --git a/src/test/correct/malloc_with_local3/gcc_O2/malloc_with_local3.expected b/src/test/correct/malloc_with_local3/gcc_O2/malloc_with_local3.expected index 04db23a6a..dd0e1c180 100644 --- a/src/test/correct/malloc_with_local3/gcc_O2/malloc_with_local3.expected +++ b/src/test/correct/malloc_with_local3/gcc_O2/malloc_with_local3.expected @@ -66,9 +66,115 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2264bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 144bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -86,12 +192,223 @@ procedure guarantee_reflexive(); procedure __printf_chk(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2264bv64) == 1bv8); + free requires (memory_load8_le(mem, 2265bv64) == 0bv8); + free requires (memory_load8_le(mem, 2266bv64) == 2bv8); + free requires (memory_load8_le(mem, 2267bv64) == 0bv8); + free requires (memory_load8_le(mem, 2268bv64) == 0bv8); + free requires (memory_load8_le(mem, 2269bv64) == 0bv8); + free requires (memory_load8_le(mem, 2270bv64) == 0bv8); + free requires (memory_load8_le(mem, 2271bv64) == 0bv8); + free requires (memory_load8_le(mem, 2272bv64) == 84bv8); + free requires (memory_load8_le(mem, 2273bv64) == 104bv8); + free requires (memory_load8_le(mem, 2274bv64) == 101bv8); + free requires (memory_load8_le(mem, 2275bv64) == 32bv8); + free requires (memory_load8_le(mem, 2276bv64) == 99bv8); + free requires (memory_load8_le(mem, 2277bv64) == 104bv8); + free requires (memory_load8_le(mem, 2278bv64) == 97bv8); + free requires (memory_load8_le(mem, 2279bv64) == 114bv8); + free requires (memory_load8_le(mem, 2280bv64) == 32bv8); + free requires (memory_load8_le(mem, 2281bv64) == 118bv8); + free requires (memory_load8_le(mem, 2282bv64) == 97bv8); + free requires (memory_load8_le(mem, 2283bv64) == 108bv8); + free requires (memory_load8_le(mem, 2284bv64) == 117bv8); + free requires (memory_load8_le(mem, 2285bv64) == 101bv8); + free requires (memory_load8_le(mem, 2286bv64) == 32bv8); + free requires (memory_load8_le(mem, 2287bv64) == 105bv8); + free requires (memory_load8_le(mem, 2288bv64) == 115bv8); + free requires (memory_load8_le(mem, 2289bv64) == 58bv8); + free requires (memory_load8_le(mem, 2290bv64) == 32bv8); + free requires (memory_load8_le(mem, 2291bv64) == 37bv8); + free requires (memory_load8_le(mem, 2292bv64) == 99bv8); + free requires (memory_load8_le(mem, 2293bv64) == 10bv8); + free requires (memory_load8_le(mem, 2294bv64) == 0bv8); + free requires (memory_load8_le(mem, 2295bv64) == 0bv8); + free requires (memory_load8_le(mem, 2296bv64) == 84bv8); + free requires (memory_load8_le(mem, 2297bv64) == 104bv8); + free requires (memory_load8_le(mem, 2298bv64) == 101bv8); + free requires (memory_load8_le(mem, 2299bv64) == 32bv8); + free requires (memory_load8_le(mem, 2300bv64) == 105bv8); + free requires (memory_load8_le(mem, 2301bv64) == 110bv8); + free requires (memory_load8_le(mem, 2302bv64) == 116bv8); + free requires (memory_load8_le(mem, 2303bv64) == 32bv8); + free requires (memory_load8_le(mem, 2304bv64) == 105bv8); + free requires (memory_load8_le(mem, 2305bv64) == 115bv8); + free requires (memory_load8_le(mem, 2306bv64) == 58bv8); + free requires (memory_load8_le(mem, 2307bv64) == 32bv8); + free requires (memory_load8_le(mem, 2308bv64) == 37bv8); + free requires (memory_load8_le(mem, 2309bv64) == 100bv8); + free requires (memory_load8_le(mem, 2310bv64) == 10bv8); + free requires (memory_load8_le(mem, 2311bv64) == 0bv8); + free requires (memory_load8_le(mem, 2312bv64) == 84bv8); + free requires (memory_load8_le(mem, 2313bv64) == 104bv8); + free requires (memory_load8_le(mem, 2314bv64) == 101bv8); + free requires (memory_load8_le(mem, 2315bv64) == 32bv8); + free requires (memory_load8_le(mem, 2316bv64) == 108bv8); + free requires (memory_load8_le(mem, 2317bv64) == 111bv8); + free requires (memory_load8_le(mem, 2318bv64) == 99bv8); + free requires (memory_load8_le(mem, 2319bv64) == 97bv8); + free requires (memory_load8_le(mem, 2320bv64) == 108bv8); + free requires (memory_load8_le(mem, 2321bv64) == 32bv8); + free requires (memory_load8_le(mem, 2322bv64) == 118bv8); + free requires (memory_load8_le(mem, 2323bv64) == 97bv8); + free requires (memory_load8_le(mem, 2324bv64) == 114bv8); + free requires (memory_load8_le(mem, 2325bv64) == 105bv8); + free requires (memory_load8_le(mem, 2326bv64) == 97bv8); + free requires (memory_load8_le(mem, 2327bv64) == 98bv8); + free requires (memory_load8_le(mem, 2328bv64) == 108bv8); + free requires (memory_load8_le(mem, 2329bv64) == 101bv8); + free requires (memory_load8_le(mem, 2330bv64) == 32bv8); + free requires (memory_load8_le(mem, 2331bv64) == 105bv8); + free requires (memory_load8_le(mem, 2332bv64) == 115bv8); + free requires (memory_load8_le(mem, 2333bv64) == 58bv8); + free requires (memory_load8_le(mem, 2334bv64) == 32bv8); + free requires (memory_load8_le(mem, 2335bv64) == 37bv8); + free requires (memory_load8_le(mem, 2336bv64) == 100bv8); + free requires (memory_load8_le(mem, 2337bv64) == 10bv8); + free requires (memory_load8_le(mem, 2338bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 144bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 64bv8); + free requires (memory_load8_le(mem, 69001bv64) == 8bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 0bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 144bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure #free(); modifies Gamma_R16, Gamma_R17, R16, R17; - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R19, Gamma_R2, Gamma_R29, Gamma_R3, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R19, R2, R29, R3, R30, R31, mem, stack; free requires (memory_load8_le(mem, 2264bv64) == 1bv8); free requires (memory_load8_le(mem, 2265bv64) == 0bv8); free requires (memory_load8_le(mem, 2266bv64) == 2bv8); @@ -167,118 +484,22 @@ procedure main() free requires (memory_load8_le(mem, 2336bv64) == 100bv8); free requires (memory_load8_le(mem, 2337bv64) == 10bv8); free requires (memory_load8_le(mem, 2338bv64) == 0bv8); - free requires (memory_load8_le(mem, 69504bv64) == 0bv8); - free requires (memory_load8_le(mem, 69505bv64) == 0bv8); - free requires (memory_load8_le(mem, 69506bv64) == 0bv8); - free requires (memory_load8_le(mem, 69507bv64) == 0bv8); - free requires (memory_load8_le(mem, 69508bv64) == 0bv8); - free requires (memory_load8_le(mem, 69509bv64) == 0bv8); - free requires (memory_load8_le(mem, 69510bv64) == 0bv8); - free requires (memory_load8_le(mem, 69511bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 80bv8); - free requires (memory_load8_le(mem, 69529bv64) == 6bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 80bv8); - free requires (memory_load8_le(mem, 69537bv64) == 6bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 80bv8); - free requires (memory_load8_le(mem, 69545bv64) == 6bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 80bv8); - free requires (memory_load8_le(mem, 69553bv64) == 6bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 80bv8); - free requires (memory_load8_le(mem, 69561bv64) == 6bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 80bv8); - free requires (memory_load8_le(mem, 69569bv64) == 6bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 80bv8); - free requires (memory_load8_le(mem, 69577bv64) == 6bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 144bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 144bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 64bv8); + free requires (memory_load8_le(mem, 69001bv64) == 8bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 0bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -287,14 +508,124 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 144bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R19, Gamma_R2, Gamma_R29, Gamma_R3, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R19, R2, R29, R3, R30, R31, mem, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -311,12 +642,226 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 2264bv64) == 1bv8); + free requires (memory_load8_le(mem, 2265bv64) == 0bv8); + free requires (memory_load8_le(mem, 2266bv64) == 2bv8); + free requires (memory_load8_le(mem, 2267bv64) == 0bv8); + free requires (memory_load8_le(mem, 2268bv64) == 0bv8); + free requires (memory_load8_le(mem, 2269bv64) == 0bv8); + free requires (memory_load8_le(mem, 2270bv64) == 0bv8); + free requires (memory_load8_le(mem, 2271bv64) == 0bv8); + free requires (memory_load8_le(mem, 2272bv64) == 84bv8); + free requires (memory_load8_le(mem, 2273bv64) == 104bv8); + free requires (memory_load8_le(mem, 2274bv64) == 101bv8); + free requires (memory_load8_le(mem, 2275bv64) == 32bv8); + free requires (memory_load8_le(mem, 2276bv64) == 99bv8); + free requires (memory_load8_le(mem, 2277bv64) == 104bv8); + free requires (memory_load8_le(mem, 2278bv64) == 97bv8); + free requires (memory_load8_le(mem, 2279bv64) == 114bv8); + free requires (memory_load8_le(mem, 2280bv64) == 32bv8); + free requires (memory_load8_le(mem, 2281bv64) == 118bv8); + free requires (memory_load8_le(mem, 2282bv64) == 97bv8); + free requires (memory_load8_le(mem, 2283bv64) == 108bv8); + free requires (memory_load8_le(mem, 2284bv64) == 117bv8); + free requires (memory_load8_le(mem, 2285bv64) == 101bv8); + free requires (memory_load8_le(mem, 2286bv64) == 32bv8); + free requires (memory_load8_le(mem, 2287bv64) == 105bv8); + free requires (memory_load8_le(mem, 2288bv64) == 115bv8); + free requires (memory_load8_le(mem, 2289bv64) == 58bv8); + free requires (memory_load8_le(mem, 2290bv64) == 32bv8); + free requires (memory_load8_le(mem, 2291bv64) == 37bv8); + free requires (memory_load8_le(mem, 2292bv64) == 99bv8); + free requires (memory_load8_le(mem, 2293bv64) == 10bv8); + free requires (memory_load8_le(mem, 2294bv64) == 0bv8); + free requires (memory_load8_le(mem, 2295bv64) == 0bv8); + free requires (memory_load8_le(mem, 2296bv64) == 84bv8); + free requires (memory_load8_le(mem, 2297bv64) == 104bv8); + free requires (memory_load8_le(mem, 2298bv64) == 101bv8); + free requires (memory_load8_le(mem, 2299bv64) == 32bv8); + free requires (memory_load8_le(mem, 2300bv64) == 105bv8); + free requires (memory_load8_le(mem, 2301bv64) == 110bv8); + free requires (memory_load8_le(mem, 2302bv64) == 116bv8); + free requires (memory_load8_le(mem, 2303bv64) == 32bv8); + free requires (memory_load8_le(mem, 2304bv64) == 105bv8); + free requires (memory_load8_le(mem, 2305bv64) == 115bv8); + free requires (memory_load8_le(mem, 2306bv64) == 58bv8); + free requires (memory_load8_le(mem, 2307bv64) == 32bv8); + free requires (memory_load8_le(mem, 2308bv64) == 37bv8); + free requires (memory_load8_le(mem, 2309bv64) == 100bv8); + free requires (memory_load8_le(mem, 2310bv64) == 10bv8); + free requires (memory_load8_le(mem, 2311bv64) == 0bv8); + free requires (memory_load8_le(mem, 2312bv64) == 84bv8); + free requires (memory_load8_le(mem, 2313bv64) == 104bv8); + free requires (memory_load8_le(mem, 2314bv64) == 101bv8); + free requires (memory_load8_le(mem, 2315bv64) == 32bv8); + free requires (memory_load8_le(mem, 2316bv64) == 108bv8); + free requires (memory_load8_le(mem, 2317bv64) == 111bv8); + free requires (memory_load8_le(mem, 2318bv64) == 99bv8); + free requires (memory_load8_le(mem, 2319bv64) == 97bv8); + free requires (memory_load8_le(mem, 2320bv64) == 108bv8); + free requires (memory_load8_le(mem, 2321bv64) == 32bv8); + free requires (memory_load8_le(mem, 2322bv64) == 118bv8); + free requires (memory_load8_le(mem, 2323bv64) == 97bv8); + free requires (memory_load8_le(mem, 2324bv64) == 114bv8); + free requires (memory_load8_le(mem, 2325bv64) == 105bv8); + free requires (memory_load8_le(mem, 2326bv64) == 97bv8); + free requires (memory_load8_le(mem, 2327bv64) == 98bv8); + free requires (memory_load8_le(mem, 2328bv64) == 108bv8); + free requires (memory_load8_le(mem, 2329bv64) == 101bv8); + free requires (memory_load8_le(mem, 2330bv64) == 32bv8); + free requires (memory_load8_le(mem, 2331bv64) == 105bv8); + free requires (memory_load8_le(mem, 2332bv64) == 115bv8); + free requires (memory_load8_le(mem, 2333bv64) == 58bv8); + free requires (memory_load8_le(mem, 2334bv64) == 32bv8); + free requires (memory_load8_le(mem, 2335bv64) == 37bv8); + free requires (memory_load8_le(mem, 2336bv64) == 100bv8); + free requires (memory_load8_le(mem, 2337bv64) == 10bv8); + free requires (memory_load8_le(mem, 2338bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 144bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 64bv8); + free requires (memory_load8_le(mem, 69001bv64) == 8bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 0bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R19 == old(Gamma_R19)); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R19 == old(R19)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2264bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 144bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #1: bv64; var Gamma_#1: bool; @@ -372,9 +917,437 @@ procedure main() procedure malloc(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2264bv64) == 1bv8); + free requires (memory_load8_le(mem, 2265bv64) == 0bv8); + free requires (memory_load8_le(mem, 2266bv64) == 2bv8); + free requires (memory_load8_le(mem, 2267bv64) == 0bv8); + free requires (memory_load8_le(mem, 2268bv64) == 0bv8); + free requires (memory_load8_le(mem, 2269bv64) == 0bv8); + free requires (memory_load8_le(mem, 2270bv64) == 0bv8); + free requires (memory_load8_le(mem, 2271bv64) == 0bv8); + free requires (memory_load8_le(mem, 2272bv64) == 84bv8); + free requires (memory_load8_le(mem, 2273bv64) == 104bv8); + free requires (memory_load8_le(mem, 2274bv64) == 101bv8); + free requires (memory_load8_le(mem, 2275bv64) == 32bv8); + free requires (memory_load8_le(mem, 2276bv64) == 99bv8); + free requires (memory_load8_le(mem, 2277bv64) == 104bv8); + free requires (memory_load8_le(mem, 2278bv64) == 97bv8); + free requires (memory_load8_le(mem, 2279bv64) == 114bv8); + free requires (memory_load8_le(mem, 2280bv64) == 32bv8); + free requires (memory_load8_le(mem, 2281bv64) == 118bv8); + free requires (memory_load8_le(mem, 2282bv64) == 97bv8); + free requires (memory_load8_le(mem, 2283bv64) == 108bv8); + free requires (memory_load8_le(mem, 2284bv64) == 117bv8); + free requires (memory_load8_le(mem, 2285bv64) == 101bv8); + free requires (memory_load8_le(mem, 2286bv64) == 32bv8); + free requires (memory_load8_le(mem, 2287bv64) == 105bv8); + free requires (memory_load8_le(mem, 2288bv64) == 115bv8); + free requires (memory_load8_le(mem, 2289bv64) == 58bv8); + free requires (memory_load8_le(mem, 2290bv64) == 32bv8); + free requires (memory_load8_le(mem, 2291bv64) == 37bv8); + free requires (memory_load8_le(mem, 2292bv64) == 99bv8); + free requires (memory_load8_le(mem, 2293bv64) == 10bv8); + free requires (memory_load8_le(mem, 2294bv64) == 0bv8); + free requires (memory_load8_le(mem, 2295bv64) == 0bv8); + free requires (memory_load8_le(mem, 2296bv64) == 84bv8); + free requires (memory_load8_le(mem, 2297bv64) == 104bv8); + free requires (memory_load8_le(mem, 2298bv64) == 101bv8); + free requires (memory_load8_le(mem, 2299bv64) == 32bv8); + free requires (memory_load8_le(mem, 2300bv64) == 105bv8); + free requires (memory_load8_le(mem, 2301bv64) == 110bv8); + free requires (memory_load8_le(mem, 2302bv64) == 116bv8); + free requires (memory_load8_le(mem, 2303bv64) == 32bv8); + free requires (memory_load8_le(mem, 2304bv64) == 105bv8); + free requires (memory_load8_le(mem, 2305bv64) == 115bv8); + free requires (memory_load8_le(mem, 2306bv64) == 58bv8); + free requires (memory_load8_le(mem, 2307bv64) == 32bv8); + free requires (memory_load8_le(mem, 2308bv64) == 37bv8); + free requires (memory_load8_le(mem, 2309bv64) == 100bv8); + free requires (memory_load8_le(mem, 2310bv64) == 10bv8); + free requires (memory_load8_le(mem, 2311bv64) == 0bv8); + free requires (memory_load8_le(mem, 2312bv64) == 84bv8); + free requires (memory_load8_le(mem, 2313bv64) == 104bv8); + free requires (memory_load8_le(mem, 2314bv64) == 101bv8); + free requires (memory_load8_le(mem, 2315bv64) == 32bv8); + free requires (memory_load8_le(mem, 2316bv64) == 108bv8); + free requires (memory_load8_le(mem, 2317bv64) == 111bv8); + free requires (memory_load8_le(mem, 2318bv64) == 99bv8); + free requires (memory_load8_le(mem, 2319bv64) == 97bv8); + free requires (memory_load8_le(mem, 2320bv64) == 108bv8); + free requires (memory_load8_le(mem, 2321bv64) == 32bv8); + free requires (memory_load8_le(mem, 2322bv64) == 118bv8); + free requires (memory_load8_le(mem, 2323bv64) == 97bv8); + free requires (memory_load8_le(mem, 2324bv64) == 114bv8); + free requires (memory_load8_le(mem, 2325bv64) == 105bv8); + free requires (memory_load8_le(mem, 2326bv64) == 97bv8); + free requires (memory_load8_le(mem, 2327bv64) == 98bv8); + free requires (memory_load8_le(mem, 2328bv64) == 108bv8); + free requires (memory_load8_le(mem, 2329bv64) == 101bv8); + free requires (memory_load8_le(mem, 2330bv64) == 32bv8); + free requires (memory_load8_le(mem, 2331bv64) == 105bv8); + free requires (memory_load8_le(mem, 2332bv64) == 115bv8); + free requires (memory_load8_le(mem, 2333bv64) == 58bv8); + free requires (memory_load8_le(mem, 2334bv64) == 32bv8); + free requires (memory_load8_le(mem, 2335bv64) == 37bv8); + free requires (memory_load8_le(mem, 2336bv64) == 100bv8); + free requires (memory_load8_le(mem, 2337bv64) == 10bv8); + free requires (memory_load8_le(mem, 2338bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 144bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 64bv8); + free requires (memory_load8_le(mem, 69001bv64) == 8bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 0bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 144bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure printCharValue() modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R2, Gamma_R3, Gamma_mem, R0, R1, R16, R17, R2, R3, mem; + free requires (memory_load8_le(mem, 2264bv64) == 1bv8); + free requires (memory_load8_le(mem, 2265bv64) == 0bv8); + free requires (memory_load8_le(mem, 2266bv64) == 2bv8); + free requires (memory_load8_le(mem, 2267bv64) == 0bv8); + free requires (memory_load8_le(mem, 2268bv64) == 0bv8); + free requires (memory_load8_le(mem, 2269bv64) == 0bv8); + free requires (memory_load8_le(mem, 2270bv64) == 0bv8); + free requires (memory_load8_le(mem, 2271bv64) == 0bv8); + free requires (memory_load8_le(mem, 2272bv64) == 84bv8); + free requires (memory_load8_le(mem, 2273bv64) == 104bv8); + free requires (memory_load8_le(mem, 2274bv64) == 101bv8); + free requires (memory_load8_le(mem, 2275bv64) == 32bv8); + free requires (memory_load8_le(mem, 2276bv64) == 99bv8); + free requires (memory_load8_le(mem, 2277bv64) == 104bv8); + free requires (memory_load8_le(mem, 2278bv64) == 97bv8); + free requires (memory_load8_le(mem, 2279bv64) == 114bv8); + free requires (memory_load8_le(mem, 2280bv64) == 32bv8); + free requires (memory_load8_le(mem, 2281bv64) == 118bv8); + free requires (memory_load8_le(mem, 2282bv64) == 97bv8); + free requires (memory_load8_le(mem, 2283bv64) == 108bv8); + free requires (memory_load8_le(mem, 2284bv64) == 117bv8); + free requires (memory_load8_le(mem, 2285bv64) == 101bv8); + free requires (memory_load8_le(mem, 2286bv64) == 32bv8); + free requires (memory_load8_le(mem, 2287bv64) == 105bv8); + free requires (memory_load8_le(mem, 2288bv64) == 115bv8); + free requires (memory_load8_le(mem, 2289bv64) == 58bv8); + free requires (memory_load8_le(mem, 2290bv64) == 32bv8); + free requires (memory_load8_le(mem, 2291bv64) == 37bv8); + free requires (memory_load8_le(mem, 2292bv64) == 99bv8); + free requires (memory_load8_le(mem, 2293bv64) == 10bv8); + free requires (memory_load8_le(mem, 2294bv64) == 0bv8); + free requires (memory_load8_le(mem, 2295bv64) == 0bv8); + free requires (memory_load8_le(mem, 2296bv64) == 84bv8); + free requires (memory_load8_le(mem, 2297bv64) == 104bv8); + free requires (memory_load8_le(mem, 2298bv64) == 101bv8); + free requires (memory_load8_le(mem, 2299bv64) == 32bv8); + free requires (memory_load8_le(mem, 2300bv64) == 105bv8); + free requires (memory_load8_le(mem, 2301bv64) == 110bv8); + free requires (memory_load8_le(mem, 2302bv64) == 116bv8); + free requires (memory_load8_le(mem, 2303bv64) == 32bv8); + free requires (memory_load8_le(mem, 2304bv64) == 105bv8); + free requires (memory_load8_le(mem, 2305bv64) == 115bv8); + free requires (memory_load8_le(mem, 2306bv64) == 58bv8); + free requires (memory_load8_le(mem, 2307bv64) == 32bv8); + free requires (memory_load8_le(mem, 2308bv64) == 37bv8); + free requires (memory_load8_le(mem, 2309bv64) == 100bv8); + free requires (memory_load8_le(mem, 2310bv64) == 10bv8); + free requires (memory_load8_le(mem, 2311bv64) == 0bv8); + free requires (memory_load8_le(mem, 2312bv64) == 84bv8); + free requires (memory_load8_le(mem, 2313bv64) == 104bv8); + free requires (memory_load8_le(mem, 2314bv64) == 101bv8); + free requires (memory_load8_le(mem, 2315bv64) == 32bv8); + free requires (memory_load8_le(mem, 2316bv64) == 108bv8); + free requires (memory_load8_le(mem, 2317bv64) == 111bv8); + free requires (memory_load8_le(mem, 2318bv64) == 99bv8); + free requires (memory_load8_le(mem, 2319bv64) == 97bv8); + free requires (memory_load8_le(mem, 2320bv64) == 108bv8); + free requires (memory_load8_le(mem, 2321bv64) == 32bv8); + free requires (memory_load8_le(mem, 2322bv64) == 118bv8); + free requires (memory_load8_le(mem, 2323bv64) == 97bv8); + free requires (memory_load8_le(mem, 2324bv64) == 114bv8); + free requires (memory_load8_le(mem, 2325bv64) == 105bv8); + free requires (memory_load8_le(mem, 2326bv64) == 97bv8); + free requires (memory_load8_le(mem, 2327bv64) == 98bv8); + free requires (memory_load8_le(mem, 2328bv64) == 108bv8); + free requires (memory_load8_le(mem, 2329bv64) == 101bv8); + free requires (memory_load8_le(mem, 2330bv64) == 32bv8); + free requires (memory_load8_le(mem, 2331bv64) == 105bv8); + free requires (memory_load8_le(mem, 2332bv64) == 115bv8); + free requires (memory_load8_le(mem, 2333bv64) == 58bv8); + free requires (memory_load8_le(mem, 2334bv64) == 32bv8); + free requires (memory_load8_le(mem, 2335bv64) == 37bv8); + free requires (memory_load8_le(mem, 2336bv64) == 100bv8); + free requires (memory_load8_le(mem, 2337bv64) == 10bv8); + free requires (memory_load8_le(mem, 2338bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 144bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 64bv8); + free requires (memory_load8_le(mem, 69001bv64) == 8bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 0bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2272bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2273bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2274bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2275bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2276bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2277bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2278bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2279bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2280bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2281bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2282bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2283bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2284bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2285bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2286bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2287bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2288bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2289bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2290bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2291bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2292bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2293bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2294bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2295bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2296bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2297bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2298bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2299bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2300bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2301bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2302bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2303bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2304bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2305bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2306bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2307bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2308bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2309bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2310bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2311bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2312bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2313bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2314bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2315bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2316bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2317bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2318bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2319bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2320bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2321bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2322bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2323bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2324bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2325bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2326bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2327bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 144bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lprintCharValue: R3, Gamma_R3 := R0, Gamma_R0; diff --git a/src/test/correct/malloc_with_local3/gcc_no_plt_no_pic/malloc_with_local3.expected b/src/test/correct/malloc_with_local3/gcc_no_plt_no_pic/malloc_with_local3.expected index b2e598f86..30d3a9350 100644 --- a/src/test/correct/malloc_with_local3/gcc_no_plt_no_pic/malloc_with_local3.expected +++ b/src/test/correct/malloc_with_local3/gcc_no_plt_no_pic/malloc_with_local3.expected @@ -76,9 +76,119 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2328bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -96,9 +206,6 @@ procedure guarantee_reflexive(); procedure #free(); modifies Gamma_R16, Gamma_R17, R16, R17; - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 2328bv64) == 1bv8); free requires (memory_load8_le(mem, 2329bv64) == 0bv8); free requires (memory_load8_le(mem, 2330bv64) == 2bv8); @@ -178,118 +285,22 @@ procedure main() free requires (memory_load8_le(mem, 2404bv64) == 99bv8); free requires (memory_load8_le(mem, 2405bv64) == 10bv8); free requires (memory_load8_le(mem, 2406bv64) == 0bv8); - free requires (memory_load8_le(mem, 69504bv64) == 0bv8); - free requires (memory_load8_le(mem, 69505bv64) == 0bv8); - free requires (memory_load8_le(mem, 69506bv64) == 0bv8); - free requires (memory_load8_le(mem, 69507bv64) == 0bv8); - free requires (memory_load8_le(mem, 69508bv64) == 0bv8); - free requires (memory_load8_le(mem, 69509bv64) == 0bv8); - free requires (memory_load8_le(mem, 69510bv64) == 0bv8); - free requires (memory_load8_le(mem, 69511bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 64bv8); - free requires (memory_load8_le(mem, 69529bv64) == 6bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 64bv8); - free requires (memory_load8_le(mem, 69537bv64) == 6bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 64bv8); - free requires (memory_load8_le(mem, 69545bv64) == 6bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 64bv8); - free requires (memory_load8_le(mem, 69553bv64) == 6bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 64bv8); - free requires (memory_load8_le(mem, 69561bv64) == 6bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 64bv8); - free requires (memory_load8_le(mem, 69569bv64) == 6bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 64bv8); - free requires (memory_load8_le(mem, 69577bv64) == 6bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 144bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 8bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -298,14 +309,128 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -322,10 +447,232 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 2328bv64) == 1bv8); + free requires (memory_load8_le(mem, 2329bv64) == 0bv8); + free requires (memory_load8_le(mem, 2330bv64) == 2bv8); + free requires (memory_load8_le(mem, 2331bv64) == 0bv8); + free requires (memory_load8_le(mem, 2332bv64) == 0bv8); + free requires (memory_load8_le(mem, 2333bv64) == 0bv8); + free requires (memory_load8_le(mem, 2334bv64) == 0bv8); + free requires (memory_load8_le(mem, 2335bv64) == 0bv8); + free requires (memory_load8_le(mem, 2336bv64) == 84bv8); + free requires (memory_load8_le(mem, 2337bv64) == 104bv8); + free requires (memory_load8_le(mem, 2338bv64) == 101bv8); + free requires (memory_load8_le(mem, 2339bv64) == 32bv8); + free requires (memory_load8_le(mem, 2340bv64) == 105bv8); + free requires (memory_load8_le(mem, 2341bv64) == 110bv8); + free requires (memory_load8_le(mem, 2342bv64) == 116bv8); + free requires (memory_load8_le(mem, 2343bv64) == 32bv8); + free requires (memory_load8_le(mem, 2344bv64) == 105bv8); + free requires (memory_load8_le(mem, 2345bv64) == 115bv8); + free requires (memory_load8_le(mem, 2346bv64) == 58bv8); + free requires (memory_load8_le(mem, 2347bv64) == 32bv8); + free requires (memory_load8_le(mem, 2348bv64) == 37bv8); + free requires (memory_load8_le(mem, 2349bv64) == 100bv8); + free requires (memory_load8_le(mem, 2350bv64) == 10bv8); + free requires (memory_load8_le(mem, 2351bv64) == 0bv8); + free requires (memory_load8_le(mem, 2352bv64) == 84bv8); + free requires (memory_load8_le(mem, 2353bv64) == 104bv8); + free requires (memory_load8_le(mem, 2354bv64) == 101bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 108bv8); + free requires (memory_load8_le(mem, 2357bv64) == 111bv8); + free requires (memory_load8_le(mem, 2358bv64) == 99bv8); + free requires (memory_load8_le(mem, 2359bv64) == 97bv8); + free requires (memory_load8_le(mem, 2360bv64) == 108bv8); + free requires (memory_load8_le(mem, 2361bv64) == 32bv8); + free requires (memory_load8_le(mem, 2362bv64) == 118bv8); + free requires (memory_load8_le(mem, 2363bv64) == 97bv8); + free requires (memory_load8_le(mem, 2364bv64) == 114bv8); + free requires (memory_load8_le(mem, 2365bv64) == 105bv8); + free requires (memory_load8_le(mem, 2366bv64) == 97bv8); + free requires (memory_load8_le(mem, 2367bv64) == 98bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 101bv8); + free requires (memory_load8_le(mem, 2370bv64) == 32bv8); + free requires (memory_load8_le(mem, 2371bv64) == 105bv8); + free requires (memory_load8_le(mem, 2372bv64) == 115bv8); + free requires (memory_load8_le(mem, 2373bv64) == 58bv8); + free requires (memory_load8_le(mem, 2374bv64) == 32bv8); + free requires (memory_load8_le(mem, 2375bv64) == 37bv8); + free requires (memory_load8_le(mem, 2376bv64) == 100bv8); + free requires (memory_load8_le(mem, 2377bv64) == 10bv8); + free requires (memory_load8_le(mem, 2378bv64) == 0bv8); + free requires (memory_load8_le(mem, 2379bv64) == 0bv8); + free requires (memory_load8_le(mem, 2380bv64) == 0bv8); + free requires (memory_load8_le(mem, 2381bv64) == 0bv8); + free requires (memory_load8_le(mem, 2382bv64) == 0bv8); + free requires (memory_load8_le(mem, 2383bv64) == 0bv8); + free requires (memory_load8_le(mem, 2384bv64) == 84bv8); + free requires (memory_load8_le(mem, 2385bv64) == 104bv8); + free requires (memory_load8_le(mem, 2386bv64) == 101bv8); + free requires (memory_load8_le(mem, 2387bv64) == 32bv8); + free requires (memory_load8_le(mem, 2388bv64) == 99bv8); + free requires (memory_load8_le(mem, 2389bv64) == 104bv8); + free requires (memory_load8_le(mem, 2390bv64) == 97bv8); + free requires (memory_load8_le(mem, 2391bv64) == 114bv8); + free requires (memory_load8_le(mem, 2392bv64) == 32bv8); + free requires (memory_load8_le(mem, 2393bv64) == 118bv8); + free requires (memory_load8_le(mem, 2394bv64) == 97bv8); + free requires (memory_load8_le(mem, 2395bv64) == 108bv8); + free requires (memory_load8_le(mem, 2396bv64) == 117bv8); + free requires (memory_load8_le(mem, 2397bv64) == 101bv8); + free requires (memory_load8_le(mem, 2398bv64) == 32bv8); + free requires (memory_load8_le(mem, 2399bv64) == 105bv8); + free requires (memory_load8_le(mem, 2400bv64) == 115bv8); + free requires (memory_load8_le(mem, 2401bv64) == 58bv8); + free requires (memory_load8_le(mem, 2402bv64) == 32bv8); + free requires (memory_load8_le(mem, 2403bv64) == 37bv8); + free requires (memory_load8_le(mem, 2404bv64) == 99bv8); + free requires (memory_load8_le(mem, 2405bv64) == 10bv8); + free requires (memory_load8_le(mem, 2406bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2328bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -409,13 +756,457 @@ procedure main() procedure malloc(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2328bv64) == 1bv8); + free requires (memory_load8_le(mem, 2329bv64) == 0bv8); + free requires (memory_load8_le(mem, 2330bv64) == 2bv8); + free requires (memory_load8_le(mem, 2331bv64) == 0bv8); + free requires (memory_load8_le(mem, 2332bv64) == 0bv8); + free requires (memory_load8_le(mem, 2333bv64) == 0bv8); + free requires (memory_load8_le(mem, 2334bv64) == 0bv8); + free requires (memory_load8_le(mem, 2335bv64) == 0bv8); + free requires (memory_load8_le(mem, 2336bv64) == 84bv8); + free requires (memory_load8_le(mem, 2337bv64) == 104bv8); + free requires (memory_load8_le(mem, 2338bv64) == 101bv8); + free requires (memory_load8_le(mem, 2339bv64) == 32bv8); + free requires (memory_load8_le(mem, 2340bv64) == 105bv8); + free requires (memory_load8_le(mem, 2341bv64) == 110bv8); + free requires (memory_load8_le(mem, 2342bv64) == 116bv8); + free requires (memory_load8_le(mem, 2343bv64) == 32bv8); + free requires (memory_load8_le(mem, 2344bv64) == 105bv8); + free requires (memory_load8_le(mem, 2345bv64) == 115bv8); + free requires (memory_load8_le(mem, 2346bv64) == 58bv8); + free requires (memory_load8_le(mem, 2347bv64) == 32bv8); + free requires (memory_load8_le(mem, 2348bv64) == 37bv8); + free requires (memory_load8_le(mem, 2349bv64) == 100bv8); + free requires (memory_load8_le(mem, 2350bv64) == 10bv8); + free requires (memory_load8_le(mem, 2351bv64) == 0bv8); + free requires (memory_load8_le(mem, 2352bv64) == 84bv8); + free requires (memory_load8_le(mem, 2353bv64) == 104bv8); + free requires (memory_load8_le(mem, 2354bv64) == 101bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 108bv8); + free requires (memory_load8_le(mem, 2357bv64) == 111bv8); + free requires (memory_load8_le(mem, 2358bv64) == 99bv8); + free requires (memory_load8_le(mem, 2359bv64) == 97bv8); + free requires (memory_load8_le(mem, 2360bv64) == 108bv8); + free requires (memory_load8_le(mem, 2361bv64) == 32bv8); + free requires (memory_load8_le(mem, 2362bv64) == 118bv8); + free requires (memory_load8_le(mem, 2363bv64) == 97bv8); + free requires (memory_load8_le(mem, 2364bv64) == 114bv8); + free requires (memory_load8_le(mem, 2365bv64) == 105bv8); + free requires (memory_load8_le(mem, 2366bv64) == 97bv8); + free requires (memory_load8_le(mem, 2367bv64) == 98bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 101bv8); + free requires (memory_load8_le(mem, 2370bv64) == 32bv8); + free requires (memory_load8_le(mem, 2371bv64) == 105bv8); + free requires (memory_load8_le(mem, 2372bv64) == 115bv8); + free requires (memory_load8_le(mem, 2373bv64) == 58bv8); + free requires (memory_load8_le(mem, 2374bv64) == 32bv8); + free requires (memory_load8_le(mem, 2375bv64) == 37bv8); + free requires (memory_load8_le(mem, 2376bv64) == 100bv8); + free requires (memory_load8_le(mem, 2377bv64) == 10bv8); + free requires (memory_load8_le(mem, 2378bv64) == 0bv8); + free requires (memory_load8_le(mem, 2379bv64) == 0bv8); + free requires (memory_load8_le(mem, 2380bv64) == 0bv8); + free requires (memory_load8_le(mem, 2381bv64) == 0bv8); + free requires (memory_load8_le(mem, 2382bv64) == 0bv8); + free requires (memory_load8_le(mem, 2383bv64) == 0bv8); + free requires (memory_load8_le(mem, 2384bv64) == 84bv8); + free requires (memory_load8_le(mem, 2385bv64) == 104bv8); + free requires (memory_load8_le(mem, 2386bv64) == 101bv8); + free requires (memory_load8_le(mem, 2387bv64) == 32bv8); + free requires (memory_load8_le(mem, 2388bv64) == 99bv8); + free requires (memory_load8_le(mem, 2389bv64) == 104bv8); + free requires (memory_load8_le(mem, 2390bv64) == 97bv8); + free requires (memory_load8_le(mem, 2391bv64) == 114bv8); + free requires (memory_load8_le(mem, 2392bv64) == 32bv8); + free requires (memory_load8_le(mem, 2393bv64) == 118bv8); + free requires (memory_load8_le(mem, 2394bv64) == 97bv8); + free requires (memory_load8_le(mem, 2395bv64) == 108bv8); + free requires (memory_load8_le(mem, 2396bv64) == 117bv8); + free requires (memory_load8_le(mem, 2397bv64) == 101bv8); + free requires (memory_load8_le(mem, 2398bv64) == 32bv8); + free requires (memory_load8_le(mem, 2399bv64) == 105bv8); + free requires (memory_load8_le(mem, 2400bv64) == 115bv8); + free requires (memory_load8_le(mem, 2401bv64) == 58bv8); + free requires (memory_load8_le(mem, 2402bv64) == 32bv8); + free requires (memory_load8_le(mem, 2403bv64) == 37bv8); + free requires (memory_load8_le(mem, 2404bv64) == 99bv8); + free requires (memory_load8_le(mem, 2405bv64) == 10bv8); + free requires (memory_load8_le(mem, 2406bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure printCharValue() modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, mem, stack; + free requires (memory_load8_le(mem, 2328bv64) == 1bv8); + free requires (memory_load8_le(mem, 2329bv64) == 0bv8); + free requires (memory_load8_le(mem, 2330bv64) == 2bv8); + free requires (memory_load8_le(mem, 2331bv64) == 0bv8); + free requires (memory_load8_le(mem, 2332bv64) == 0bv8); + free requires (memory_load8_le(mem, 2333bv64) == 0bv8); + free requires (memory_load8_le(mem, 2334bv64) == 0bv8); + free requires (memory_load8_le(mem, 2335bv64) == 0bv8); + free requires (memory_load8_le(mem, 2336bv64) == 84bv8); + free requires (memory_load8_le(mem, 2337bv64) == 104bv8); + free requires (memory_load8_le(mem, 2338bv64) == 101bv8); + free requires (memory_load8_le(mem, 2339bv64) == 32bv8); + free requires (memory_load8_le(mem, 2340bv64) == 105bv8); + free requires (memory_load8_le(mem, 2341bv64) == 110bv8); + free requires (memory_load8_le(mem, 2342bv64) == 116bv8); + free requires (memory_load8_le(mem, 2343bv64) == 32bv8); + free requires (memory_load8_le(mem, 2344bv64) == 105bv8); + free requires (memory_load8_le(mem, 2345bv64) == 115bv8); + free requires (memory_load8_le(mem, 2346bv64) == 58bv8); + free requires (memory_load8_le(mem, 2347bv64) == 32bv8); + free requires (memory_load8_le(mem, 2348bv64) == 37bv8); + free requires (memory_load8_le(mem, 2349bv64) == 100bv8); + free requires (memory_load8_le(mem, 2350bv64) == 10bv8); + free requires (memory_load8_le(mem, 2351bv64) == 0bv8); + free requires (memory_load8_le(mem, 2352bv64) == 84bv8); + free requires (memory_load8_le(mem, 2353bv64) == 104bv8); + free requires (memory_load8_le(mem, 2354bv64) == 101bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 108bv8); + free requires (memory_load8_le(mem, 2357bv64) == 111bv8); + free requires (memory_load8_le(mem, 2358bv64) == 99bv8); + free requires (memory_load8_le(mem, 2359bv64) == 97bv8); + free requires (memory_load8_le(mem, 2360bv64) == 108bv8); + free requires (memory_load8_le(mem, 2361bv64) == 32bv8); + free requires (memory_load8_le(mem, 2362bv64) == 118bv8); + free requires (memory_load8_le(mem, 2363bv64) == 97bv8); + free requires (memory_load8_le(mem, 2364bv64) == 114bv8); + free requires (memory_load8_le(mem, 2365bv64) == 105bv8); + free requires (memory_load8_le(mem, 2366bv64) == 97bv8); + free requires (memory_load8_le(mem, 2367bv64) == 98bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 101bv8); + free requires (memory_load8_le(mem, 2370bv64) == 32bv8); + free requires (memory_load8_le(mem, 2371bv64) == 105bv8); + free requires (memory_load8_le(mem, 2372bv64) == 115bv8); + free requires (memory_load8_le(mem, 2373bv64) == 58bv8); + free requires (memory_load8_le(mem, 2374bv64) == 32bv8); + free requires (memory_load8_le(mem, 2375bv64) == 37bv8); + free requires (memory_load8_le(mem, 2376bv64) == 100bv8); + free requires (memory_load8_le(mem, 2377bv64) == 10bv8); + free requires (memory_load8_le(mem, 2378bv64) == 0bv8); + free requires (memory_load8_le(mem, 2379bv64) == 0bv8); + free requires (memory_load8_le(mem, 2380bv64) == 0bv8); + free requires (memory_load8_le(mem, 2381bv64) == 0bv8); + free requires (memory_load8_le(mem, 2382bv64) == 0bv8); + free requires (memory_load8_le(mem, 2383bv64) == 0bv8); + free requires (memory_load8_le(mem, 2384bv64) == 84bv8); + free requires (memory_load8_le(mem, 2385bv64) == 104bv8); + free requires (memory_load8_le(mem, 2386bv64) == 101bv8); + free requires (memory_load8_le(mem, 2387bv64) == 32bv8); + free requires (memory_load8_le(mem, 2388bv64) == 99bv8); + free requires (memory_load8_le(mem, 2389bv64) == 104bv8); + free requires (memory_load8_le(mem, 2390bv64) == 97bv8); + free requires (memory_load8_le(mem, 2391bv64) == 114bv8); + free requires (memory_load8_le(mem, 2392bv64) == 32bv8); + free requires (memory_load8_le(mem, 2393bv64) == 118bv8); + free requires (memory_load8_le(mem, 2394bv64) == 97bv8); + free requires (memory_load8_le(mem, 2395bv64) == 108bv8); + free requires (memory_load8_le(mem, 2396bv64) == 117bv8); + free requires (memory_load8_le(mem, 2397bv64) == 101bv8); + free requires (memory_load8_le(mem, 2398bv64) == 32bv8); + free requires (memory_load8_le(mem, 2399bv64) == 105bv8); + free requires (memory_load8_le(mem, 2400bv64) == 115bv8); + free requires (memory_load8_le(mem, 2401bv64) == 58bv8); + free requires (memory_load8_le(mem, 2402bv64) == 32bv8); + free requires (memory_load8_le(mem, 2403bv64) == 37bv8); + free requires (memory_load8_le(mem, 2404bv64) == 99bv8); + free requires (memory_load8_le(mem, 2405bv64) == 10bv8); + free requires (memory_load8_le(mem, 2406bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2328bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #5: bv64; var Gamma_#5: bool; @@ -451,3 +1242,225 @@ procedure printCharValue() procedure printf(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2328bv64) == 1bv8); + free requires (memory_load8_le(mem, 2329bv64) == 0bv8); + free requires (memory_load8_le(mem, 2330bv64) == 2bv8); + free requires (memory_load8_le(mem, 2331bv64) == 0bv8); + free requires (memory_load8_le(mem, 2332bv64) == 0bv8); + free requires (memory_load8_le(mem, 2333bv64) == 0bv8); + free requires (memory_load8_le(mem, 2334bv64) == 0bv8); + free requires (memory_load8_le(mem, 2335bv64) == 0bv8); + free requires (memory_load8_le(mem, 2336bv64) == 84bv8); + free requires (memory_load8_le(mem, 2337bv64) == 104bv8); + free requires (memory_load8_le(mem, 2338bv64) == 101bv8); + free requires (memory_load8_le(mem, 2339bv64) == 32bv8); + free requires (memory_load8_le(mem, 2340bv64) == 105bv8); + free requires (memory_load8_le(mem, 2341bv64) == 110bv8); + free requires (memory_load8_le(mem, 2342bv64) == 116bv8); + free requires (memory_load8_le(mem, 2343bv64) == 32bv8); + free requires (memory_load8_le(mem, 2344bv64) == 105bv8); + free requires (memory_load8_le(mem, 2345bv64) == 115bv8); + free requires (memory_load8_le(mem, 2346bv64) == 58bv8); + free requires (memory_load8_le(mem, 2347bv64) == 32bv8); + free requires (memory_load8_le(mem, 2348bv64) == 37bv8); + free requires (memory_load8_le(mem, 2349bv64) == 100bv8); + free requires (memory_load8_le(mem, 2350bv64) == 10bv8); + free requires (memory_load8_le(mem, 2351bv64) == 0bv8); + free requires (memory_load8_le(mem, 2352bv64) == 84bv8); + free requires (memory_load8_le(mem, 2353bv64) == 104bv8); + free requires (memory_load8_le(mem, 2354bv64) == 101bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 108bv8); + free requires (memory_load8_le(mem, 2357bv64) == 111bv8); + free requires (memory_load8_le(mem, 2358bv64) == 99bv8); + free requires (memory_load8_le(mem, 2359bv64) == 97bv8); + free requires (memory_load8_le(mem, 2360bv64) == 108bv8); + free requires (memory_load8_le(mem, 2361bv64) == 32bv8); + free requires (memory_load8_le(mem, 2362bv64) == 118bv8); + free requires (memory_load8_le(mem, 2363bv64) == 97bv8); + free requires (memory_load8_le(mem, 2364bv64) == 114bv8); + free requires (memory_load8_le(mem, 2365bv64) == 105bv8); + free requires (memory_load8_le(mem, 2366bv64) == 97bv8); + free requires (memory_load8_le(mem, 2367bv64) == 98bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 101bv8); + free requires (memory_load8_le(mem, 2370bv64) == 32bv8); + free requires (memory_load8_le(mem, 2371bv64) == 105bv8); + free requires (memory_load8_le(mem, 2372bv64) == 115bv8); + free requires (memory_load8_le(mem, 2373bv64) == 58bv8); + free requires (memory_load8_le(mem, 2374bv64) == 32bv8); + free requires (memory_load8_le(mem, 2375bv64) == 37bv8); + free requires (memory_load8_le(mem, 2376bv64) == 100bv8); + free requires (memory_load8_le(mem, 2377bv64) == 10bv8); + free requires (memory_load8_le(mem, 2378bv64) == 0bv8); + free requires (memory_load8_le(mem, 2379bv64) == 0bv8); + free requires (memory_load8_le(mem, 2380bv64) == 0bv8); + free requires (memory_load8_le(mem, 2381bv64) == 0bv8); + free requires (memory_load8_le(mem, 2382bv64) == 0bv8); + free requires (memory_load8_le(mem, 2383bv64) == 0bv8); + free requires (memory_load8_le(mem, 2384bv64) == 84bv8); + free requires (memory_load8_le(mem, 2385bv64) == 104bv8); + free requires (memory_load8_le(mem, 2386bv64) == 101bv8); + free requires (memory_load8_le(mem, 2387bv64) == 32bv8); + free requires (memory_load8_le(mem, 2388bv64) == 99bv8); + free requires (memory_load8_le(mem, 2389bv64) == 104bv8); + free requires (memory_load8_le(mem, 2390bv64) == 97bv8); + free requires (memory_load8_le(mem, 2391bv64) == 114bv8); + free requires (memory_load8_le(mem, 2392bv64) == 32bv8); + free requires (memory_load8_le(mem, 2393bv64) == 118bv8); + free requires (memory_load8_le(mem, 2394bv64) == 97bv8); + free requires (memory_load8_le(mem, 2395bv64) == 108bv8); + free requires (memory_load8_le(mem, 2396bv64) == 117bv8); + free requires (memory_load8_le(mem, 2397bv64) == 101bv8); + free requires (memory_load8_le(mem, 2398bv64) == 32bv8); + free requires (memory_load8_le(mem, 2399bv64) == 105bv8); + free requires (memory_load8_le(mem, 2400bv64) == 115bv8); + free requires (memory_load8_le(mem, 2401bv64) == 58bv8); + free requires (memory_load8_le(mem, 2402bv64) == 32bv8); + free requires (memory_load8_le(mem, 2403bv64) == 37bv8); + free requires (memory_load8_le(mem, 2404bv64) == 99bv8); + free requires (memory_load8_le(mem, 2405bv64) == 10bv8); + free requires (memory_load8_le(mem, 2406bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); diff --git a/src/test/correct/malloc_with_local3/gcc_pic/malloc_with_local3.expected b/src/test/correct/malloc_with_local3/gcc_pic/malloc_with_local3.expected index b2e598f86..30d3a9350 100644 --- a/src/test/correct/malloc_with_local3/gcc_pic/malloc_with_local3.expected +++ b/src/test/correct/malloc_with_local3/gcc_pic/malloc_with_local3.expected @@ -76,9 +76,119 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2328bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -96,9 +206,6 @@ procedure guarantee_reflexive(); procedure #free(); modifies Gamma_R16, Gamma_R17, R16, R17; - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 2328bv64) == 1bv8); free requires (memory_load8_le(mem, 2329bv64) == 0bv8); free requires (memory_load8_le(mem, 2330bv64) == 2bv8); @@ -178,118 +285,22 @@ procedure main() free requires (memory_load8_le(mem, 2404bv64) == 99bv8); free requires (memory_load8_le(mem, 2405bv64) == 10bv8); free requires (memory_load8_le(mem, 2406bv64) == 0bv8); - free requires (memory_load8_le(mem, 69504bv64) == 0bv8); - free requires (memory_load8_le(mem, 69505bv64) == 0bv8); - free requires (memory_load8_le(mem, 69506bv64) == 0bv8); - free requires (memory_load8_le(mem, 69507bv64) == 0bv8); - free requires (memory_load8_le(mem, 69508bv64) == 0bv8); - free requires (memory_load8_le(mem, 69509bv64) == 0bv8); - free requires (memory_load8_le(mem, 69510bv64) == 0bv8); - free requires (memory_load8_le(mem, 69511bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 64bv8); - free requires (memory_load8_le(mem, 69529bv64) == 6bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 64bv8); - free requires (memory_load8_le(mem, 69537bv64) == 6bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 64bv8); - free requires (memory_load8_le(mem, 69545bv64) == 6bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 64bv8); - free requires (memory_load8_le(mem, 69553bv64) == 6bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 64bv8); - free requires (memory_load8_le(mem, 69561bv64) == 6bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 64bv8); - free requires (memory_load8_le(mem, 69569bv64) == 6bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 64bv8); - free requires (memory_load8_le(mem, 69577bv64) == 6bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 144bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 8bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -298,14 +309,128 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -322,10 +447,232 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 2328bv64) == 1bv8); + free requires (memory_load8_le(mem, 2329bv64) == 0bv8); + free requires (memory_load8_le(mem, 2330bv64) == 2bv8); + free requires (memory_load8_le(mem, 2331bv64) == 0bv8); + free requires (memory_load8_le(mem, 2332bv64) == 0bv8); + free requires (memory_load8_le(mem, 2333bv64) == 0bv8); + free requires (memory_load8_le(mem, 2334bv64) == 0bv8); + free requires (memory_load8_le(mem, 2335bv64) == 0bv8); + free requires (memory_load8_le(mem, 2336bv64) == 84bv8); + free requires (memory_load8_le(mem, 2337bv64) == 104bv8); + free requires (memory_load8_le(mem, 2338bv64) == 101bv8); + free requires (memory_load8_le(mem, 2339bv64) == 32bv8); + free requires (memory_load8_le(mem, 2340bv64) == 105bv8); + free requires (memory_load8_le(mem, 2341bv64) == 110bv8); + free requires (memory_load8_le(mem, 2342bv64) == 116bv8); + free requires (memory_load8_le(mem, 2343bv64) == 32bv8); + free requires (memory_load8_le(mem, 2344bv64) == 105bv8); + free requires (memory_load8_le(mem, 2345bv64) == 115bv8); + free requires (memory_load8_le(mem, 2346bv64) == 58bv8); + free requires (memory_load8_le(mem, 2347bv64) == 32bv8); + free requires (memory_load8_le(mem, 2348bv64) == 37bv8); + free requires (memory_load8_le(mem, 2349bv64) == 100bv8); + free requires (memory_load8_le(mem, 2350bv64) == 10bv8); + free requires (memory_load8_le(mem, 2351bv64) == 0bv8); + free requires (memory_load8_le(mem, 2352bv64) == 84bv8); + free requires (memory_load8_le(mem, 2353bv64) == 104bv8); + free requires (memory_load8_le(mem, 2354bv64) == 101bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 108bv8); + free requires (memory_load8_le(mem, 2357bv64) == 111bv8); + free requires (memory_load8_le(mem, 2358bv64) == 99bv8); + free requires (memory_load8_le(mem, 2359bv64) == 97bv8); + free requires (memory_load8_le(mem, 2360bv64) == 108bv8); + free requires (memory_load8_le(mem, 2361bv64) == 32bv8); + free requires (memory_load8_le(mem, 2362bv64) == 118bv8); + free requires (memory_load8_le(mem, 2363bv64) == 97bv8); + free requires (memory_load8_le(mem, 2364bv64) == 114bv8); + free requires (memory_load8_le(mem, 2365bv64) == 105bv8); + free requires (memory_load8_le(mem, 2366bv64) == 97bv8); + free requires (memory_load8_le(mem, 2367bv64) == 98bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 101bv8); + free requires (memory_load8_le(mem, 2370bv64) == 32bv8); + free requires (memory_load8_le(mem, 2371bv64) == 105bv8); + free requires (memory_load8_le(mem, 2372bv64) == 115bv8); + free requires (memory_load8_le(mem, 2373bv64) == 58bv8); + free requires (memory_load8_le(mem, 2374bv64) == 32bv8); + free requires (memory_load8_le(mem, 2375bv64) == 37bv8); + free requires (memory_load8_le(mem, 2376bv64) == 100bv8); + free requires (memory_load8_le(mem, 2377bv64) == 10bv8); + free requires (memory_load8_le(mem, 2378bv64) == 0bv8); + free requires (memory_load8_le(mem, 2379bv64) == 0bv8); + free requires (memory_load8_le(mem, 2380bv64) == 0bv8); + free requires (memory_load8_le(mem, 2381bv64) == 0bv8); + free requires (memory_load8_le(mem, 2382bv64) == 0bv8); + free requires (memory_load8_le(mem, 2383bv64) == 0bv8); + free requires (memory_load8_le(mem, 2384bv64) == 84bv8); + free requires (memory_load8_le(mem, 2385bv64) == 104bv8); + free requires (memory_load8_le(mem, 2386bv64) == 101bv8); + free requires (memory_load8_le(mem, 2387bv64) == 32bv8); + free requires (memory_load8_le(mem, 2388bv64) == 99bv8); + free requires (memory_load8_le(mem, 2389bv64) == 104bv8); + free requires (memory_load8_le(mem, 2390bv64) == 97bv8); + free requires (memory_load8_le(mem, 2391bv64) == 114bv8); + free requires (memory_load8_le(mem, 2392bv64) == 32bv8); + free requires (memory_load8_le(mem, 2393bv64) == 118bv8); + free requires (memory_load8_le(mem, 2394bv64) == 97bv8); + free requires (memory_load8_le(mem, 2395bv64) == 108bv8); + free requires (memory_load8_le(mem, 2396bv64) == 117bv8); + free requires (memory_load8_le(mem, 2397bv64) == 101bv8); + free requires (memory_load8_le(mem, 2398bv64) == 32bv8); + free requires (memory_load8_le(mem, 2399bv64) == 105bv8); + free requires (memory_load8_le(mem, 2400bv64) == 115bv8); + free requires (memory_load8_le(mem, 2401bv64) == 58bv8); + free requires (memory_load8_le(mem, 2402bv64) == 32bv8); + free requires (memory_load8_le(mem, 2403bv64) == 37bv8); + free requires (memory_load8_le(mem, 2404bv64) == 99bv8); + free requires (memory_load8_le(mem, 2405bv64) == 10bv8); + free requires (memory_load8_le(mem, 2406bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2328bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -409,13 +756,457 @@ procedure main() procedure malloc(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2328bv64) == 1bv8); + free requires (memory_load8_le(mem, 2329bv64) == 0bv8); + free requires (memory_load8_le(mem, 2330bv64) == 2bv8); + free requires (memory_load8_le(mem, 2331bv64) == 0bv8); + free requires (memory_load8_le(mem, 2332bv64) == 0bv8); + free requires (memory_load8_le(mem, 2333bv64) == 0bv8); + free requires (memory_load8_le(mem, 2334bv64) == 0bv8); + free requires (memory_load8_le(mem, 2335bv64) == 0bv8); + free requires (memory_load8_le(mem, 2336bv64) == 84bv8); + free requires (memory_load8_le(mem, 2337bv64) == 104bv8); + free requires (memory_load8_le(mem, 2338bv64) == 101bv8); + free requires (memory_load8_le(mem, 2339bv64) == 32bv8); + free requires (memory_load8_le(mem, 2340bv64) == 105bv8); + free requires (memory_load8_le(mem, 2341bv64) == 110bv8); + free requires (memory_load8_le(mem, 2342bv64) == 116bv8); + free requires (memory_load8_le(mem, 2343bv64) == 32bv8); + free requires (memory_load8_le(mem, 2344bv64) == 105bv8); + free requires (memory_load8_le(mem, 2345bv64) == 115bv8); + free requires (memory_load8_le(mem, 2346bv64) == 58bv8); + free requires (memory_load8_le(mem, 2347bv64) == 32bv8); + free requires (memory_load8_le(mem, 2348bv64) == 37bv8); + free requires (memory_load8_le(mem, 2349bv64) == 100bv8); + free requires (memory_load8_le(mem, 2350bv64) == 10bv8); + free requires (memory_load8_le(mem, 2351bv64) == 0bv8); + free requires (memory_load8_le(mem, 2352bv64) == 84bv8); + free requires (memory_load8_le(mem, 2353bv64) == 104bv8); + free requires (memory_load8_le(mem, 2354bv64) == 101bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 108bv8); + free requires (memory_load8_le(mem, 2357bv64) == 111bv8); + free requires (memory_load8_le(mem, 2358bv64) == 99bv8); + free requires (memory_load8_le(mem, 2359bv64) == 97bv8); + free requires (memory_load8_le(mem, 2360bv64) == 108bv8); + free requires (memory_load8_le(mem, 2361bv64) == 32bv8); + free requires (memory_load8_le(mem, 2362bv64) == 118bv8); + free requires (memory_load8_le(mem, 2363bv64) == 97bv8); + free requires (memory_load8_le(mem, 2364bv64) == 114bv8); + free requires (memory_load8_le(mem, 2365bv64) == 105bv8); + free requires (memory_load8_le(mem, 2366bv64) == 97bv8); + free requires (memory_load8_le(mem, 2367bv64) == 98bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 101bv8); + free requires (memory_load8_le(mem, 2370bv64) == 32bv8); + free requires (memory_load8_le(mem, 2371bv64) == 105bv8); + free requires (memory_load8_le(mem, 2372bv64) == 115bv8); + free requires (memory_load8_le(mem, 2373bv64) == 58bv8); + free requires (memory_load8_le(mem, 2374bv64) == 32bv8); + free requires (memory_load8_le(mem, 2375bv64) == 37bv8); + free requires (memory_load8_le(mem, 2376bv64) == 100bv8); + free requires (memory_load8_le(mem, 2377bv64) == 10bv8); + free requires (memory_load8_le(mem, 2378bv64) == 0bv8); + free requires (memory_load8_le(mem, 2379bv64) == 0bv8); + free requires (memory_load8_le(mem, 2380bv64) == 0bv8); + free requires (memory_load8_le(mem, 2381bv64) == 0bv8); + free requires (memory_load8_le(mem, 2382bv64) == 0bv8); + free requires (memory_load8_le(mem, 2383bv64) == 0bv8); + free requires (memory_load8_le(mem, 2384bv64) == 84bv8); + free requires (memory_load8_le(mem, 2385bv64) == 104bv8); + free requires (memory_load8_le(mem, 2386bv64) == 101bv8); + free requires (memory_load8_le(mem, 2387bv64) == 32bv8); + free requires (memory_load8_le(mem, 2388bv64) == 99bv8); + free requires (memory_load8_le(mem, 2389bv64) == 104bv8); + free requires (memory_load8_le(mem, 2390bv64) == 97bv8); + free requires (memory_load8_le(mem, 2391bv64) == 114bv8); + free requires (memory_load8_le(mem, 2392bv64) == 32bv8); + free requires (memory_load8_le(mem, 2393bv64) == 118bv8); + free requires (memory_load8_le(mem, 2394bv64) == 97bv8); + free requires (memory_load8_le(mem, 2395bv64) == 108bv8); + free requires (memory_load8_le(mem, 2396bv64) == 117bv8); + free requires (memory_load8_le(mem, 2397bv64) == 101bv8); + free requires (memory_load8_le(mem, 2398bv64) == 32bv8); + free requires (memory_load8_le(mem, 2399bv64) == 105bv8); + free requires (memory_load8_le(mem, 2400bv64) == 115bv8); + free requires (memory_load8_le(mem, 2401bv64) == 58bv8); + free requires (memory_load8_le(mem, 2402bv64) == 32bv8); + free requires (memory_load8_le(mem, 2403bv64) == 37bv8); + free requires (memory_load8_le(mem, 2404bv64) == 99bv8); + free requires (memory_load8_le(mem, 2405bv64) == 10bv8); + free requires (memory_load8_le(mem, 2406bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure printCharValue() modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, mem, stack; + free requires (memory_load8_le(mem, 2328bv64) == 1bv8); + free requires (memory_load8_le(mem, 2329bv64) == 0bv8); + free requires (memory_load8_le(mem, 2330bv64) == 2bv8); + free requires (memory_load8_le(mem, 2331bv64) == 0bv8); + free requires (memory_load8_le(mem, 2332bv64) == 0bv8); + free requires (memory_load8_le(mem, 2333bv64) == 0bv8); + free requires (memory_load8_le(mem, 2334bv64) == 0bv8); + free requires (memory_load8_le(mem, 2335bv64) == 0bv8); + free requires (memory_load8_le(mem, 2336bv64) == 84bv8); + free requires (memory_load8_le(mem, 2337bv64) == 104bv8); + free requires (memory_load8_le(mem, 2338bv64) == 101bv8); + free requires (memory_load8_le(mem, 2339bv64) == 32bv8); + free requires (memory_load8_le(mem, 2340bv64) == 105bv8); + free requires (memory_load8_le(mem, 2341bv64) == 110bv8); + free requires (memory_load8_le(mem, 2342bv64) == 116bv8); + free requires (memory_load8_le(mem, 2343bv64) == 32bv8); + free requires (memory_load8_le(mem, 2344bv64) == 105bv8); + free requires (memory_load8_le(mem, 2345bv64) == 115bv8); + free requires (memory_load8_le(mem, 2346bv64) == 58bv8); + free requires (memory_load8_le(mem, 2347bv64) == 32bv8); + free requires (memory_load8_le(mem, 2348bv64) == 37bv8); + free requires (memory_load8_le(mem, 2349bv64) == 100bv8); + free requires (memory_load8_le(mem, 2350bv64) == 10bv8); + free requires (memory_load8_le(mem, 2351bv64) == 0bv8); + free requires (memory_load8_le(mem, 2352bv64) == 84bv8); + free requires (memory_load8_le(mem, 2353bv64) == 104bv8); + free requires (memory_load8_le(mem, 2354bv64) == 101bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 108bv8); + free requires (memory_load8_le(mem, 2357bv64) == 111bv8); + free requires (memory_load8_le(mem, 2358bv64) == 99bv8); + free requires (memory_load8_le(mem, 2359bv64) == 97bv8); + free requires (memory_load8_le(mem, 2360bv64) == 108bv8); + free requires (memory_load8_le(mem, 2361bv64) == 32bv8); + free requires (memory_load8_le(mem, 2362bv64) == 118bv8); + free requires (memory_load8_le(mem, 2363bv64) == 97bv8); + free requires (memory_load8_le(mem, 2364bv64) == 114bv8); + free requires (memory_load8_le(mem, 2365bv64) == 105bv8); + free requires (memory_load8_le(mem, 2366bv64) == 97bv8); + free requires (memory_load8_le(mem, 2367bv64) == 98bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 101bv8); + free requires (memory_load8_le(mem, 2370bv64) == 32bv8); + free requires (memory_load8_le(mem, 2371bv64) == 105bv8); + free requires (memory_load8_le(mem, 2372bv64) == 115bv8); + free requires (memory_load8_le(mem, 2373bv64) == 58bv8); + free requires (memory_load8_le(mem, 2374bv64) == 32bv8); + free requires (memory_load8_le(mem, 2375bv64) == 37bv8); + free requires (memory_load8_le(mem, 2376bv64) == 100bv8); + free requires (memory_load8_le(mem, 2377bv64) == 10bv8); + free requires (memory_load8_le(mem, 2378bv64) == 0bv8); + free requires (memory_load8_le(mem, 2379bv64) == 0bv8); + free requires (memory_load8_le(mem, 2380bv64) == 0bv8); + free requires (memory_load8_le(mem, 2381bv64) == 0bv8); + free requires (memory_load8_le(mem, 2382bv64) == 0bv8); + free requires (memory_load8_le(mem, 2383bv64) == 0bv8); + free requires (memory_load8_le(mem, 2384bv64) == 84bv8); + free requires (memory_load8_le(mem, 2385bv64) == 104bv8); + free requires (memory_load8_le(mem, 2386bv64) == 101bv8); + free requires (memory_load8_le(mem, 2387bv64) == 32bv8); + free requires (memory_load8_le(mem, 2388bv64) == 99bv8); + free requires (memory_load8_le(mem, 2389bv64) == 104bv8); + free requires (memory_load8_le(mem, 2390bv64) == 97bv8); + free requires (memory_load8_le(mem, 2391bv64) == 114bv8); + free requires (memory_load8_le(mem, 2392bv64) == 32bv8); + free requires (memory_load8_le(mem, 2393bv64) == 118bv8); + free requires (memory_load8_le(mem, 2394bv64) == 97bv8); + free requires (memory_load8_le(mem, 2395bv64) == 108bv8); + free requires (memory_load8_le(mem, 2396bv64) == 117bv8); + free requires (memory_load8_le(mem, 2397bv64) == 101bv8); + free requires (memory_load8_le(mem, 2398bv64) == 32bv8); + free requires (memory_load8_le(mem, 2399bv64) == 105bv8); + free requires (memory_load8_le(mem, 2400bv64) == 115bv8); + free requires (memory_load8_le(mem, 2401bv64) == 58bv8); + free requires (memory_load8_le(mem, 2402bv64) == 32bv8); + free requires (memory_load8_le(mem, 2403bv64) == 37bv8); + free requires (memory_load8_le(mem, 2404bv64) == 99bv8); + free requires (memory_load8_le(mem, 2405bv64) == 10bv8); + free requires (memory_load8_le(mem, 2406bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2328bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #5: bv64; var Gamma_#5: bool; @@ -451,3 +1242,225 @@ procedure printCharValue() procedure printf(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2328bv64) == 1bv8); + free requires (memory_load8_le(mem, 2329bv64) == 0bv8); + free requires (memory_load8_le(mem, 2330bv64) == 2bv8); + free requires (memory_load8_le(mem, 2331bv64) == 0bv8); + free requires (memory_load8_le(mem, 2332bv64) == 0bv8); + free requires (memory_load8_le(mem, 2333bv64) == 0bv8); + free requires (memory_load8_le(mem, 2334bv64) == 0bv8); + free requires (memory_load8_le(mem, 2335bv64) == 0bv8); + free requires (memory_load8_le(mem, 2336bv64) == 84bv8); + free requires (memory_load8_le(mem, 2337bv64) == 104bv8); + free requires (memory_load8_le(mem, 2338bv64) == 101bv8); + free requires (memory_load8_le(mem, 2339bv64) == 32bv8); + free requires (memory_load8_le(mem, 2340bv64) == 105bv8); + free requires (memory_load8_le(mem, 2341bv64) == 110bv8); + free requires (memory_load8_le(mem, 2342bv64) == 116bv8); + free requires (memory_load8_le(mem, 2343bv64) == 32bv8); + free requires (memory_load8_le(mem, 2344bv64) == 105bv8); + free requires (memory_load8_le(mem, 2345bv64) == 115bv8); + free requires (memory_load8_le(mem, 2346bv64) == 58bv8); + free requires (memory_load8_le(mem, 2347bv64) == 32bv8); + free requires (memory_load8_le(mem, 2348bv64) == 37bv8); + free requires (memory_load8_le(mem, 2349bv64) == 100bv8); + free requires (memory_load8_le(mem, 2350bv64) == 10bv8); + free requires (memory_load8_le(mem, 2351bv64) == 0bv8); + free requires (memory_load8_le(mem, 2352bv64) == 84bv8); + free requires (memory_load8_le(mem, 2353bv64) == 104bv8); + free requires (memory_load8_le(mem, 2354bv64) == 101bv8); + free requires (memory_load8_le(mem, 2355bv64) == 32bv8); + free requires (memory_load8_le(mem, 2356bv64) == 108bv8); + free requires (memory_load8_le(mem, 2357bv64) == 111bv8); + free requires (memory_load8_le(mem, 2358bv64) == 99bv8); + free requires (memory_load8_le(mem, 2359bv64) == 97bv8); + free requires (memory_load8_le(mem, 2360bv64) == 108bv8); + free requires (memory_load8_le(mem, 2361bv64) == 32bv8); + free requires (memory_load8_le(mem, 2362bv64) == 118bv8); + free requires (memory_load8_le(mem, 2363bv64) == 97bv8); + free requires (memory_load8_le(mem, 2364bv64) == 114bv8); + free requires (memory_load8_le(mem, 2365bv64) == 105bv8); + free requires (memory_load8_le(mem, 2366bv64) == 97bv8); + free requires (memory_load8_le(mem, 2367bv64) == 98bv8); + free requires (memory_load8_le(mem, 2368bv64) == 108bv8); + free requires (memory_load8_le(mem, 2369bv64) == 101bv8); + free requires (memory_load8_le(mem, 2370bv64) == 32bv8); + free requires (memory_load8_le(mem, 2371bv64) == 105bv8); + free requires (memory_load8_le(mem, 2372bv64) == 115bv8); + free requires (memory_load8_le(mem, 2373bv64) == 58bv8); + free requires (memory_load8_le(mem, 2374bv64) == 32bv8); + free requires (memory_load8_le(mem, 2375bv64) == 37bv8); + free requires (memory_load8_le(mem, 2376bv64) == 100bv8); + free requires (memory_load8_le(mem, 2377bv64) == 10bv8); + free requires (memory_load8_le(mem, 2378bv64) == 0bv8); + free requires (memory_load8_le(mem, 2379bv64) == 0bv8); + free requires (memory_load8_le(mem, 2380bv64) == 0bv8); + free requires (memory_load8_le(mem, 2381bv64) == 0bv8); + free requires (memory_load8_le(mem, 2382bv64) == 0bv8); + free requires (memory_load8_le(mem, 2383bv64) == 0bv8); + free requires (memory_load8_le(mem, 2384bv64) == 84bv8); + free requires (memory_load8_le(mem, 2385bv64) == 104bv8); + free requires (memory_load8_le(mem, 2386bv64) == 101bv8); + free requires (memory_load8_le(mem, 2387bv64) == 32bv8); + free requires (memory_load8_le(mem, 2388bv64) == 99bv8); + free requires (memory_load8_le(mem, 2389bv64) == 104bv8); + free requires (memory_load8_le(mem, 2390bv64) == 97bv8); + free requires (memory_load8_le(mem, 2391bv64) == 114bv8); + free requires (memory_load8_le(mem, 2392bv64) == 32bv8); + free requires (memory_load8_le(mem, 2393bv64) == 118bv8); + free requires (memory_load8_le(mem, 2394bv64) == 97bv8); + free requires (memory_load8_le(mem, 2395bv64) == 108bv8); + free requires (memory_load8_le(mem, 2396bv64) == 117bv8); + free requires (memory_load8_le(mem, 2397bv64) == 101bv8); + free requires (memory_load8_le(mem, 2398bv64) == 32bv8); + free requires (memory_load8_le(mem, 2399bv64) == 105bv8); + free requires (memory_load8_le(mem, 2400bv64) == 115bv8); + free requires (memory_load8_le(mem, 2401bv64) == 58bv8); + free requires (memory_load8_le(mem, 2402bv64) == 32bv8); + free requires (memory_load8_le(mem, 2403bv64) == 37bv8); + free requires (memory_load8_le(mem, 2404bv64) == 99bv8); + free requires (memory_load8_le(mem, 2405bv64) == 10bv8); + free requires (memory_load8_le(mem, 2406bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2328bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2329bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2330bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2331bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2332bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2333bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2334bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2335bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2336bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2337bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2338bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2339bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2340bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2341bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2342bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2343bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2344bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2345bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2346bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2347bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2348bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2349bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2350bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2351bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2352bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2353bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2354bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2355bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2356bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2357bv64) == 111bv8); + free ensures (memory_load8_le(mem, 2358bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2359bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2360bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2361bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2362bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2363bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2364bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2365bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2366bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2367bv64) == 98bv8); + free ensures (memory_load8_le(mem, 2368bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2369bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2370bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2371bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2372bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2373bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2374bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2375bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2376bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2377bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2378bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2379bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2380bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2381bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2382bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2383bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2384bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2385bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2386bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2387bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2388bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2389bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2390bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2391bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2392bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2393bv64) == 118bv8); + free ensures (memory_load8_le(mem, 2394bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2395bv64) == 108bv8); + free ensures (memory_load8_le(mem, 2396bv64) == 117bv8); + free ensures (memory_load8_le(mem, 2397bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2398bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2399bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2400bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2401bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2402bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2403bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2404bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2405bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2406bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); diff --git a/src/test/correct/multi_malloc/clang/multi_malloc.expected b/src/test/correct/multi_malloc/clang/multi_malloc.expected index b501c6abc..0365aca9b 100644 --- a/src/test/correct/multi_malloc/clang/multi_malloc.expected +++ b/src/test/correct/multi_malloc/clang/multi_malloc.expected @@ -79,9 +79,77 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2232bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -99,9 +167,6 @@ procedure guarantee_reflexive(); procedure #free(); modifies Gamma_R16, Gamma_R17, R16, R17; - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 2232bv64) == 1bv8); free requires (memory_load8_le(mem, 2233bv64) == 0bv8); free requires (memory_load8_le(mem, 2234bv64) == 2bv8); @@ -139,38 +204,22 @@ procedure main() free requires (memory_load8_le(mem, 2266bv64) == 100bv8); free requires (memory_load8_le(mem, 2267bv64) == 10bv8); free requires (memory_load8_le(mem, 2268bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 8bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -179,14 +228,86 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 69688bv64) == 0bv8); free requires (memory_load8_le(mem, 69689bv64) == 0bv8); free requires (memory_load8_le(mem, 69690bv64) == 0bv8); @@ -203,10 +324,148 @@ procedure main() free requires (memory_load8_le(mem, 69701bv64) == 0bv8); free requires (memory_load8_le(mem, 69702bv64) == 0bv8); free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free requires (memory_load8_le(mem, 2232bv64) == 1bv8); + free requires (memory_load8_le(mem, 2233bv64) == 0bv8); + free requires (memory_load8_le(mem, 2234bv64) == 2bv8); + free requires (memory_load8_le(mem, 2235bv64) == 0bv8); + free requires (memory_load8_le(mem, 2236bv64) == 84bv8); + free requires (memory_load8_le(mem, 2237bv64) == 104bv8); + free requires (memory_load8_le(mem, 2238bv64) == 101bv8); + free requires (memory_load8_le(mem, 2239bv64) == 32bv8); + free requires (memory_load8_le(mem, 2240bv64) == 99bv8); + free requires (memory_load8_le(mem, 2241bv64) == 104bv8); + free requires (memory_load8_le(mem, 2242bv64) == 97bv8); + free requires (memory_load8_le(mem, 2243bv64) == 114bv8); + free requires (memory_load8_le(mem, 2244bv64) == 32bv8); + free requires (memory_load8_le(mem, 2245bv64) == 105bv8); + free requires (memory_load8_le(mem, 2246bv64) == 115bv8); + free requires (memory_load8_le(mem, 2247bv64) == 58bv8); + free requires (memory_load8_le(mem, 2248bv64) == 32bv8); + free requires (memory_load8_le(mem, 2249bv64) == 37bv8); + free requires (memory_load8_le(mem, 2250bv64) == 99bv8); + free requires (memory_load8_le(mem, 2251bv64) == 10bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 84bv8); + free requires (memory_load8_le(mem, 2254bv64) == 104bv8); + free requires (memory_load8_le(mem, 2255bv64) == 101bv8); + free requires (memory_load8_le(mem, 2256bv64) == 32bv8); + free requires (memory_load8_le(mem, 2257bv64) == 105bv8); + free requires (memory_load8_le(mem, 2258bv64) == 110bv8); + free requires (memory_load8_le(mem, 2259bv64) == 116bv8); + free requires (memory_load8_le(mem, 2260bv64) == 32bv8); + free requires (memory_load8_le(mem, 2261bv64) == 105bv8); + free requires (memory_load8_le(mem, 2262bv64) == 115bv8); + free requires (memory_load8_le(mem, 2263bv64) == 58bv8); + free requires (memory_load8_le(mem, 2264bv64) == 32bv8); + free requires (memory_load8_le(mem, 2265bv64) == 37bv8); + free requires (memory_load8_le(mem, 2266bv64) == 100bv8); + free requires (memory_load8_le(mem, 2267bv64) == 10bv8); + free requires (memory_load8_le(mem, 2268bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2232bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); { var #4: bv64; var #5: bv64; @@ -279,6 +538,282 @@ procedure main() procedure malloc(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2232bv64) == 1bv8); + free requires (memory_load8_le(mem, 2233bv64) == 0bv8); + free requires (memory_load8_le(mem, 2234bv64) == 2bv8); + free requires (memory_load8_le(mem, 2235bv64) == 0bv8); + free requires (memory_load8_le(mem, 2236bv64) == 84bv8); + free requires (memory_load8_le(mem, 2237bv64) == 104bv8); + free requires (memory_load8_le(mem, 2238bv64) == 101bv8); + free requires (memory_load8_le(mem, 2239bv64) == 32bv8); + free requires (memory_load8_le(mem, 2240bv64) == 99bv8); + free requires (memory_load8_le(mem, 2241bv64) == 104bv8); + free requires (memory_load8_le(mem, 2242bv64) == 97bv8); + free requires (memory_load8_le(mem, 2243bv64) == 114bv8); + free requires (memory_load8_le(mem, 2244bv64) == 32bv8); + free requires (memory_load8_le(mem, 2245bv64) == 105bv8); + free requires (memory_load8_le(mem, 2246bv64) == 115bv8); + free requires (memory_load8_le(mem, 2247bv64) == 58bv8); + free requires (memory_load8_le(mem, 2248bv64) == 32bv8); + free requires (memory_load8_le(mem, 2249bv64) == 37bv8); + free requires (memory_load8_le(mem, 2250bv64) == 99bv8); + free requires (memory_load8_le(mem, 2251bv64) == 10bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 84bv8); + free requires (memory_load8_le(mem, 2254bv64) == 104bv8); + free requires (memory_load8_le(mem, 2255bv64) == 101bv8); + free requires (memory_load8_le(mem, 2256bv64) == 32bv8); + free requires (memory_load8_le(mem, 2257bv64) == 105bv8); + free requires (memory_load8_le(mem, 2258bv64) == 110bv8); + free requires (memory_load8_le(mem, 2259bv64) == 116bv8); + free requires (memory_load8_le(mem, 2260bv64) == 32bv8); + free requires (memory_load8_le(mem, 2261bv64) == 105bv8); + free requires (memory_load8_le(mem, 2262bv64) == 115bv8); + free requires (memory_load8_le(mem, 2263bv64) == 58bv8); + free requires (memory_load8_le(mem, 2264bv64) == 32bv8); + free requires (memory_load8_le(mem, 2265bv64) == 37bv8); + free requires (memory_load8_le(mem, 2266bv64) == 100bv8); + free requires (memory_load8_le(mem, 2267bv64) == 10bv8); + free requires (memory_load8_le(mem, 2268bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure printf(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2232bv64) == 1bv8); + free requires (memory_load8_le(mem, 2233bv64) == 0bv8); + free requires (memory_load8_le(mem, 2234bv64) == 2bv8); + free requires (memory_load8_le(mem, 2235bv64) == 0bv8); + free requires (memory_load8_le(mem, 2236bv64) == 84bv8); + free requires (memory_load8_le(mem, 2237bv64) == 104bv8); + free requires (memory_load8_le(mem, 2238bv64) == 101bv8); + free requires (memory_load8_le(mem, 2239bv64) == 32bv8); + free requires (memory_load8_le(mem, 2240bv64) == 99bv8); + free requires (memory_load8_le(mem, 2241bv64) == 104bv8); + free requires (memory_load8_le(mem, 2242bv64) == 97bv8); + free requires (memory_load8_le(mem, 2243bv64) == 114bv8); + free requires (memory_load8_le(mem, 2244bv64) == 32bv8); + free requires (memory_load8_le(mem, 2245bv64) == 105bv8); + free requires (memory_load8_le(mem, 2246bv64) == 115bv8); + free requires (memory_load8_le(mem, 2247bv64) == 58bv8); + free requires (memory_load8_le(mem, 2248bv64) == 32bv8); + free requires (memory_load8_le(mem, 2249bv64) == 37bv8); + free requires (memory_load8_le(mem, 2250bv64) == 99bv8); + free requires (memory_load8_le(mem, 2251bv64) == 10bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 84bv8); + free requires (memory_load8_le(mem, 2254bv64) == 104bv8); + free requires (memory_load8_le(mem, 2255bv64) == 101bv8); + free requires (memory_load8_le(mem, 2256bv64) == 32bv8); + free requires (memory_load8_le(mem, 2257bv64) == 105bv8); + free requires (memory_load8_le(mem, 2258bv64) == 110bv8); + free requires (memory_load8_le(mem, 2259bv64) == 116bv8); + free requires (memory_load8_le(mem, 2260bv64) == 32bv8); + free requires (memory_load8_le(mem, 2261bv64) == 105bv8); + free requires (memory_load8_le(mem, 2262bv64) == 115bv8); + free requires (memory_load8_le(mem, 2263bv64) == 58bv8); + free requires (memory_load8_le(mem, 2264bv64) == 32bv8); + free requires (memory_load8_le(mem, 2265bv64) == 37bv8); + free requires (memory_load8_le(mem, 2266bv64) == 100bv8); + free requires (memory_load8_le(mem, 2267bv64) == 10bv8); + free requires (memory_load8_le(mem, 2268bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); diff --git a/src/test/correct/multi_malloc/clang_O2/multi_malloc.expected b/src/test/correct/multi_malloc/clang_O2/multi_malloc.expected index fd845a751..ca0781be4 100644 --- a/src/test/correct/multi_malloc/clang_O2/multi_malloc.expected +++ b/src/test/correct/multi_malloc/clang_O2/multi_malloc.expected @@ -41,9 +41,77 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1948bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1949bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1950bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1951bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1952bv64) == 84bv8); + free ensures (memory_load8_le(mem, 1953bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1954bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1955bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1956bv64) == 99bv8); + free ensures (memory_load8_le(mem, 1957bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1958bv64) == 97bv8); + free ensures (memory_load8_le(mem, 1959bv64) == 114bv8); + free ensures (memory_load8_le(mem, 1960bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1961bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1962bv64) == 115bv8); + free ensures (memory_load8_le(mem, 1963bv64) == 58bv8); + free ensures (memory_load8_le(mem, 1964bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1965bv64) == 37bv8); + free ensures (memory_load8_le(mem, 1966bv64) == 99bv8); + free ensures (memory_load8_le(mem, 1967bv64) == 10bv8); + free ensures (memory_load8_le(mem, 1968bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1969bv64) == 84bv8); + free ensures (memory_load8_le(mem, 1970bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1971bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1972bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1973bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1974bv64) == 110bv8); + free ensures (memory_load8_le(mem, 1975bv64) == 116bv8); + free ensures (memory_load8_le(mem, 1976bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1977bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1978bv64) == 115bv8); + free ensures (memory_load8_le(mem, 1979bv64) == 58bv8); + free ensures (memory_load8_le(mem, 1980bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1981bv64) == 37bv8); + free ensures (memory_load8_le(mem, 1982bv64) == 100bv8); + free ensures (memory_load8_le(mem, 1983bv64) == 10bv8); + free ensures (memory_load8_le(mem, 1984bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -61,6 +129,22 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, stack; + free requires (memory_load8_le(mem, 69672bv64) == 0bv8); + free requires (memory_load8_le(mem, 69673bv64) == 0bv8); + free requires (memory_load8_le(mem, 69674bv64) == 0bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); free requires (memory_load8_le(mem, 1948bv64) == 1bv8); free requires (memory_load8_le(mem, 1949bv64) == 0bv8); free requires (memory_load8_le(mem, 1950bv64) == 2bv8); @@ -98,38 +182,22 @@ procedure main() free requires (memory_load8_le(mem, 1982bv64) == 100bv8); free requires (memory_load8_le(mem, 1983bv64) == 10bv8); free requires (memory_load8_le(mem, 1984bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 84bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -138,22 +206,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 0bv8); - free requires (memory_load8_le(mem, 69673bv64) == 0bv8); - free requires (memory_load8_le(mem, 69674bv64) == 0bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 69680bv64) == 48bv8); free requires (memory_load8_le(mem, 69681bv64) == 16bv8); free requires (memory_load8_le(mem, 69682bv64) == 1bv8); @@ -166,6 +218,75 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1948bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1949bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1950bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1951bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1952bv64) == 84bv8); + free ensures (memory_load8_le(mem, 1953bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1954bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1955bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1956bv64) == 99bv8); + free ensures (memory_load8_le(mem, 1957bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1958bv64) == 97bv8); + free ensures (memory_load8_le(mem, 1959bv64) == 114bv8); + free ensures (memory_load8_le(mem, 1960bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1961bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1962bv64) == 115bv8); + free ensures (memory_load8_le(mem, 1963bv64) == 58bv8); + free ensures (memory_load8_le(mem, 1964bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1965bv64) == 37bv8); + free ensures (memory_load8_le(mem, 1966bv64) == 99bv8); + free ensures (memory_load8_le(mem, 1967bv64) == 10bv8); + free ensures (memory_load8_le(mem, 1968bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1969bv64) == 84bv8); + free ensures (memory_load8_le(mem, 1970bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1971bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1972bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1973bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1974bv64) == 110bv8); + free ensures (memory_load8_le(mem, 1975bv64) == 116bv8); + free ensures (memory_load8_le(mem, 1976bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1977bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1978bv64) == 115bv8); + free ensures (memory_load8_le(mem, 1979bv64) == 58bv8); + free ensures (memory_load8_le(mem, 1980bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1981bv64) == 37bv8); + free ensures (memory_load8_le(mem, 1982bv64) == 100bv8); + free ensures (memory_load8_le(mem, 1983bv64) == 10bv8); + free ensures (memory_load8_le(mem, 1984bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -198,3 +319,141 @@ procedure main() procedure printf(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 1948bv64) == 1bv8); + free requires (memory_load8_le(mem, 1949bv64) == 0bv8); + free requires (memory_load8_le(mem, 1950bv64) == 2bv8); + free requires (memory_load8_le(mem, 1951bv64) == 0bv8); + free requires (memory_load8_le(mem, 1952bv64) == 84bv8); + free requires (memory_load8_le(mem, 1953bv64) == 104bv8); + free requires (memory_load8_le(mem, 1954bv64) == 101bv8); + free requires (memory_load8_le(mem, 1955bv64) == 32bv8); + free requires (memory_load8_le(mem, 1956bv64) == 99bv8); + free requires (memory_load8_le(mem, 1957bv64) == 104bv8); + free requires (memory_load8_le(mem, 1958bv64) == 97bv8); + free requires (memory_load8_le(mem, 1959bv64) == 114bv8); + free requires (memory_load8_le(mem, 1960bv64) == 32bv8); + free requires (memory_load8_le(mem, 1961bv64) == 105bv8); + free requires (memory_load8_le(mem, 1962bv64) == 115bv8); + free requires (memory_load8_le(mem, 1963bv64) == 58bv8); + free requires (memory_load8_le(mem, 1964bv64) == 32bv8); + free requires (memory_load8_le(mem, 1965bv64) == 37bv8); + free requires (memory_load8_le(mem, 1966bv64) == 99bv8); + free requires (memory_load8_le(mem, 1967bv64) == 10bv8); + free requires (memory_load8_le(mem, 1968bv64) == 0bv8); + free requires (memory_load8_le(mem, 1969bv64) == 84bv8); + free requires (memory_load8_le(mem, 1970bv64) == 104bv8); + free requires (memory_load8_le(mem, 1971bv64) == 101bv8); + free requires (memory_load8_le(mem, 1972bv64) == 32bv8); + free requires (memory_load8_le(mem, 1973bv64) == 105bv8); + free requires (memory_load8_le(mem, 1974bv64) == 110bv8); + free requires (memory_load8_le(mem, 1975bv64) == 116bv8); + free requires (memory_load8_le(mem, 1976bv64) == 32bv8); + free requires (memory_load8_le(mem, 1977bv64) == 105bv8); + free requires (memory_load8_le(mem, 1978bv64) == 115bv8); + free requires (memory_load8_le(mem, 1979bv64) == 58bv8); + free requires (memory_load8_le(mem, 1980bv64) == 32bv8); + free requires (memory_load8_le(mem, 1981bv64) == 37bv8); + free requires (memory_load8_le(mem, 1982bv64) == 100bv8); + free requires (memory_load8_le(mem, 1983bv64) == 10bv8); + free requires (memory_load8_le(mem, 1984bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 84bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1948bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1949bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1950bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1951bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1952bv64) == 84bv8); + free ensures (memory_load8_le(mem, 1953bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1954bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1955bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1956bv64) == 99bv8); + free ensures (memory_load8_le(mem, 1957bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1958bv64) == 97bv8); + free ensures (memory_load8_le(mem, 1959bv64) == 114bv8); + free ensures (memory_load8_le(mem, 1960bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1961bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1962bv64) == 115bv8); + free ensures (memory_load8_le(mem, 1963bv64) == 58bv8); + free ensures (memory_load8_le(mem, 1964bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1965bv64) == 37bv8); + free ensures (memory_load8_le(mem, 1966bv64) == 99bv8); + free ensures (memory_load8_le(mem, 1967bv64) == 10bv8); + free ensures (memory_load8_le(mem, 1968bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1969bv64) == 84bv8); + free ensures (memory_load8_le(mem, 1970bv64) == 104bv8); + free ensures (memory_load8_le(mem, 1971bv64) == 101bv8); + free ensures (memory_load8_le(mem, 1972bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1973bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1974bv64) == 110bv8); + free ensures (memory_load8_le(mem, 1975bv64) == 116bv8); + free ensures (memory_load8_le(mem, 1976bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1977bv64) == 105bv8); + free ensures (memory_load8_le(mem, 1978bv64) == 115bv8); + free ensures (memory_load8_le(mem, 1979bv64) == 58bv8); + free ensures (memory_load8_le(mem, 1980bv64) == 32bv8); + free ensures (memory_load8_le(mem, 1981bv64) == 37bv8); + free ensures (memory_load8_le(mem, 1982bv64) == 100bv8); + free ensures (memory_load8_le(mem, 1983bv64) == 10bv8); + free ensures (memory_load8_le(mem, 1984bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); diff --git a/src/test/correct/multi_malloc/clang_no_plt_no_pic/multi_malloc.expected b/src/test/correct/multi_malloc/clang_no_plt_no_pic/multi_malloc.expected index 9d07eca32..057aaba59 100644 --- a/src/test/correct/multi_malloc/clang_no_plt_no_pic/multi_malloc.expected +++ b/src/test/correct/multi_malloc/clang_no_plt_no_pic/multi_malloc.expected @@ -79,9 +79,77 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2232bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -99,9 +167,6 @@ procedure guarantee_reflexive(); procedure #free(); modifies Gamma_R16, Gamma_R17, R16, R17; - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 2232bv64) == 1bv8); free requires (memory_load8_le(mem, 2233bv64) == 0bv8); free requires (memory_load8_le(mem, 2234bv64) == 2bv8); @@ -139,38 +204,22 @@ procedure main() free requires (memory_load8_le(mem, 2266bv64) == 100bv8); free requires (memory_load8_le(mem, 2267bv64) == 10bv8); free requires (memory_load8_le(mem, 2268bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 8bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -179,14 +228,86 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 69688bv64) == 0bv8); free requires (memory_load8_le(mem, 69689bv64) == 0bv8); free requires (memory_load8_le(mem, 69690bv64) == 0bv8); @@ -203,10 +324,148 @@ procedure main() free requires (memory_load8_le(mem, 69701bv64) == 0bv8); free requires (memory_load8_le(mem, 69702bv64) == 0bv8); free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free requires (memory_load8_le(mem, 2232bv64) == 1bv8); + free requires (memory_load8_le(mem, 2233bv64) == 0bv8); + free requires (memory_load8_le(mem, 2234bv64) == 2bv8); + free requires (memory_load8_le(mem, 2235bv64) == 0bv8); + free requires (memory_load8_le(mem, 2236bv64) == 84bv8); + free requires (memory_load8_le(mem, 2237bv64) == 104bv8); + free requires (memory_load8_le(mem, 2238bv64) == 101bv8); + free requires (memory_load8_le(mem, 2239bv64) == 32bv8); + free requires (memory_load8_le(mem, 2240bv64) == 99bv8); + free requires (memory_load8_le(mem, 2241bv64) == 104bv8); + free requires (memory_load8_le(mem, 2242bv64) == 97bv8); + free requires (memory_load8_le(mem, 2243bv64) == 114bv8); + free requires (memory_load8_le(mem, 2244bv64) == 32bv8); + free requires (memory_load8_le(mem, 2245bv64) == 105bv8); + free requires (memory_load8_le(mem, 2246bv64) == 115bv8); + free requires (memory_load8_le(mem, 2247bv64) == 58bv8); + free requires (memory_load8_le(mem, 2248bv64) == 32bv8); + free requires (memory_load8_le(mem, 2249bv64) == 37bv8); + free requires (memory_load8_le(mem, 2250bv64) == 99bv8); + free requires (memory_load8_le(mem, 2251bv64) == 10bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 84bv8); + free requires (memory_load8_le(mem, 2254bv64) == 104bv8); + free requires (memory_load8_le(mem, 2255bv64) == 101bv8); + free requires (memory_load8_le(mem, 2256bv64) == 32bv8); + free requires (memory_load8_le(mem, 2257bv64) == 105bv8); + free requires (memory_load8_le(mem, 2258bv64) == 110bv8); + free requires (memory_load8_le(mem, 2259bv64) == 116bv8); + free requires (memory_load8_le(mem, 2260bv64) == 32bv8); + free requires (memory_load8_le(mem, 2261bv64) == 105bv8); + free requires (memory_load8_le(mem, 2262bv64) == 115bv8); + free requires (memory_load8_le(mem, 2263bv64) == 58bv8); + free requires (memory_load8_le(mem, 2264bv64) == 32bv8); + free requires (memory_load8_le(mem, 2265bv64) == 37bv8); + free requires (memory_load8_le(mem, 2266bv64) == 100bv8); + free requires (memory_load8_le(mem, 2267bv64) == 10bv8); + free requires (memory_load8_le(mem, 2268bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2232bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); { var #4: bv64; var #5: bv64; @@ -279,6 +538,282 @@ procedure main() procedure malloc(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2232bv64) == 1bv8); + free requires (memory_load8_le(mem, 2233bv64) == 0bv8); + free requires (memory_load8_le(mem, 2234bv64) == 2bv8); + free requires (memory_load8_le(mem, 2235bv64) == 0bv8); + free requires (memory_load8_le(mem, 2236bv64) == 84bv8); + free requires (memory_load8_le(mem, 2237bv64) == 104bv8); + free requires (memory_load8_le(mem, 2238bv64) == 101bv8); + free requires (memory_load8_le(mem, 2239bv64) == 32bv8); + free requires (memory_load8_le(mem, 2240bv64) == 99bv8); + free requires (memory_load8_le(mem, 2241bv64) == 104bv8); + free requires (memory_load8_le(mem, 2242bv64) == 97bv8); + free requires (memory_load8_le(mem, 2243bv64) == 114bv8); + free requires (memory_load8_le(mem, 2244bv64) == 32bv8); + free requires (memory_load8_le(mem, 2245bv64) == 105bv8); + free requires (memory_load8_le(mem, 2246bv64) == 115bv8); + free requires (memory_load8_le(mem, 2247bv64) == 58bv8); + free requires (memory_load8_le(mem, 2248bv64) == 32bv8); + free requires (memory_load8_le(mem, 2249bv64) == 37bv8); + free requires (memory_load8_le(mem, 2250bv64) == 99bv8); + free requires (memory_load8_le(mem, 2251bv64) == 10bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 84bv8); + free requires (memory_load8_le(mem, 2254bv64) == 104bv8); + free requires (memory_load8_le(mem, 2255bv64) == 101bv8); + free requires (memory_load8_le(mem, 2256bv64) == 32bv8); + free requires (memory_load8_le(mem, 2257bv64) == 105bv8); + free requires (memory_load8_le(mem, 2258bv64) == 110bv8); + free requires (memory_load8_le(mem, 2259bv64) == 116bv8); + free requires (memory_load8_le(mem, 2260bv64) == 32bv8); + free requires (memory_load8_le(mem, 2261bv64) == 105bv8); + free requires (memory_load8_le(mem, 2262bv64) == 115bv8); + free requires (memory_load8_le(mem, 2263bv64) == 58bv8); + free requires (memory_load8_le(mem, 2264bv64) == 32bv8); + free requires (memory_load8_le(mem, 2265bv64) == 37bv8); + free requires (memory_load8_le(mem, 2266bv64) == 100bv8); + free requires (memory_load8_le(mem, 2267bv64) == 10bv8); + free requires (memory_load8_le(mem, 2268bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure printf(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2232bv64) == 1bv8); + free requires (memory_load8_le(mem, 2233bv64) == 0bv8); + free requires (memory_load8_le(mem, 2234bv64) == 2bv8); + free requires (memory_load8_le(mem, 2235bv64) == 0bv8); + free requires (memory_load8_le(mem, 2236bv64) == 84bv8); + free requires (memory_load8_le(mem, 2237bv64) == 104bv8); + free requires (memory_load8_le(mem, 2238bv64) == 101bv8); + free requires (memory_load8_le(mem, 2239bv64) == 32bv8); + free requires (memory_load8_le(mem, 2240bv64) == 99bv8); + free requires (memory_load8_le(mem, 2241bv64) == 104bv8); + free requires (memory_load8_le(mem, 2242bv64) == 97bv8); + free requires (memory_load8_le(mem, 2243bv64) == 114bv8); + free requires (memory_load8_le(mem, 2244bv64) == 32bv8); + free requires (memory_load8_le(mem, 2245bv64) == 105bv8); + free requires (memory_load8_le(mem, 2246bv64) == 115bv8); + free requires (memory_load8_le(mem, 2247bv64) == 58bv8); + free requires (memory_load8_le(mem, 2248bv64) == 32bv8); + free requires (memory_load8_le(mem, 2249bv64) == 37bv8); + free requires (memory_load8_le(mem, 2250bv64) == 99bv8); + free requires (memory_load8_le(mem, 2251bv64) == 10bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 84bv8); + free requires (memory_load8_le(mem, 2254bv64) == 104bv8); + free requires (memory_load8_le(mem, 2255bv64) == 101bv8); + free requires (memory_load8_le(mem, 2256bv64) == 32bv8); + free requires (memory_load8_le(mem, 2257bv64) == 105bv8); + free requires (memory_load8_le(mem, 2258bv64) == 110bv8); + free requires (memory_load8_le(mem, 2259bv64) == 116bv8); + free requires (memory_load8_le(mem, 2260bv64) == 32bv8); + free requires (memory_load8_le(mem, 2261bv64) == 105bv8); + free requires (memory_load8_le(mem, 2262bv64) == 115bv8); + free requires (memory_load8_le(mem, 2263bv64) == 58bv8); + free requires (memory_load8_le(mem, 2264bv64) == 32bv8); + free requires (memory_load8_le(mem, 2265bv64) == 37bv8); + free requires (memory_load8_le(mem, 2266bv64) == 100bv8); + free requires (memory_load8_le(mem, 2267bv64) == 10bv8); + free requires (memory_load8_le(mem, 2268bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); diff --git a/src/test/correct/multi_malloc/clang_pic/multi_malloc.expected b/src/test/correct/multi_malloc/clang_pic/multi_malloc.expected index 9d07eca32..057aaba59 100644 --- a/src/test/correct/multi_malloc/clang_pic/multi_malloc.expected +++ b/src/test/correct/multi_malloc/clang_pic/multi_malloc.expected @@ -79,9 +79,77 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2232bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -99,9 +167,6 @@ procedure guarantee_reflexive(); procedure #free(); modifies Gamma_R16, Gamma_R17, R16, R17; - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 2232bv64) == 1bv8); free requires (memory_load8_le(mem, 2233bv64) == 0bv8); free requires (memory_load8_le(mem, 2234bv64) == 2bv8); @@ -139,38 +204,22 @@ procedure main() free requires (memory_load8_le(mem, 2266bv64) == 100bv8); free requires (memory_load8_le(mem, 2267bv64) == 10bv8); free requires (memory_load8_le(mem, 2268bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 20bv8); free requires (memory_load8_le(mem, 69593bv64) == 8bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -179,14 +228,86 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, R8, R9, mem, stack; free requires (memory_load8_le(mem, 69688bv64) == 0bv8); free requires (memory_load8_le(mem, 69689bv64) == 0bv8); free requires (memory_load8_le(mem, 69690bv64) == 0bv8); @@ -203,10 +324,148 @@ procedure main() free requires (memory_load8_le(mem, 69701bv64) == 0bv8); free requires (memory_load8_le(mem, 69702bv64) == 0bv8); free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free requires (memory_load8_le(mem, 2232bv64) == 1bv8); + free requires (memory_load8_le(mem, 2233bv64) == 0bv8); + free requires (memory_load8_le(mem, 2234bv64) == 2bv8); + free requires (memory_load8_le(mem, 2235bv64) == 0bv8); + free requires (memory_load8_le(mem, 2236bv64) == 84bv8); + free requires (memory_load8_le(mem, 2237bv64) == 104bv8); + free requires (memory_load8_le(mem, 2238bv64) == 101bv8); + free requires (memory_load8_le(mem, 2239bv64) == 32bv8); + free requires (memory_load8_le(mem, 2240bv64) == 99bv8); + free requires (memory_load8_le(mem, 2241bv64) == 104bv8); + free requires (memory_load8_le(mem, 2242bv64) == 97bv8); + free requires (memory_load8_le(mem, 2243bv64) == 114bv8); + free requires (memory_load8_le(mem, 2244bv64) == 32bv8); + free requires (memory_load8_le(mem, 2245bv64) == 105bv8); + free requires (memory_load8_le(mem, 2246bv64) == 115bv8); + free requires (memory_load8_le(mem, 2247bv64) == 58bv8); + free requires (memory_load8_le(mem, 2248bv64) == 32bv8); + free requires (memory_load8_le(mem, 2249bv64) == 37bv8); + free requires (memory_load8_le(mem, 2250bv64) == 99bv8); + free requires (memory_load8_le(mem, 2251bv64) == 10bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 84bv8); + free requires (memory_load8_le(mem, 2254bv64) == 104bv8); + free requires (memory_load8_le(mem, 2255bv64) == 101bv8); + free requires (memory_load8_le(mem, 2256bv64) == 32bv8); + free requires (memory_load8_le(mem, 2257bv64) == 105bv8); + free requires (memory_load8_le(mem, 2258bv64) == 110bv8); + free requires (memory_load8_le(mem, 2259bv64) == 116bv8); + free requires (memory_load8_le(mem, 2260bv64) == 32bv8); + free requires (memory_load8_le(mem, 2261bv64) == 105bv8); + free requires (memory_load8_le(mem, 2262bv64) == 115bv8); + free requires (memory_load8_le(mem, 2263bv64) == 58bv8); + free requires (memory_load8_le(mem, 2264bv64) == 32bv8); + free requires (memory_load8_le(mem, 2265bv64) == 37bv8); + free requires (memory_load8_le(mem, 2266bv64) == 100bv8); + free requires (memory_load8_le(mem, 2267bv64) == 10bv8); + free requires (memory_load8_le(mem, 2268bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2232bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); { var #4: bv64; var #5: bv64; @@ -279,6 +538,282 @@ procedure main() procedure malloc(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2232bv64) == 1bv8); + free requires (memory_load8_le(mem, 2233bv64) == 0bv8); + free requires (memory_load8_le(mem, 2234bv64) == 2bv8); + free requires (memory_load8_le(mem, 2235bv64) == 0bv8); + free requires (memory_load8_le(mem, 2236bv64) == 84bv8); + free requires (memory_load8_le(mem, 2237bv64) == 104bv8); + free requires (memory_load8_le(mem, 2238bv64) == 101bv8); + free requires (memory_load8_le(mem, 2239bv64) == 32bv8); + free requires (memory_load8_le(mem, 2240bv64) == 99bv8); + free requires (memory_load8_le(mem, 2241bv64) == 104bv8); + free requires (memory_load8_le(mem, 2242bv64) == 97bv8); + free requires (memory_load8_le(mem, 2243bv64) == 114bv8); + free requires (memory_load8_le(mem, 2244bv64) == 32bv8); + free requires (memory_load8_le(mem, 2245bv64) == 105bv8); + free requires (memory_load8_le(mem, 2246bv64) == 115bv8); + free requires (memory_load8_le(mem, 2247bv64) == 58bv8); + free requires (memory_load8_le(mem, 2248bv64) == 32bv8); + free requires (memory_load8_le(mem, 2249bv64) == 37bv8); + free requires (memory_load8_le(mem, 2250bv64) == 99bv8); + free requires (memory_load8_le(mem, 2251bv64) == 10bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 84bv8); + free requires (memory_load8_le(mem, 2254bv64) == 104bv8); + free requires (memory_load8_le(mem, 2255bv64) == 101bv8); + free requires (memory_load8_le(mem, 2256bv64) == 32bv8); + free requires (memory_load8_le(mem, 2257bv64) == 105bv8); + free requires (memory_load8_le(mem, 2258bv64) == 110bv8); + free requires (memory_load8_le(mem, 2259bv64) == 116bv8); + free requires (memory_load8_le(mem, 2260bv64) == 32bv8); + free requires (memory_load8_le(mem, 2261bv64) == 105bv8); + free requires (memory_load8_le(mem, 2262bv64) == 115bv8); + free requires (memory_load8_le(mem, 2263bv64) == 58bv8); + free requires (memory_load8_le(mem, 2264bv64) == 32bv8); + free requires (memory_load8_le(mem, 2265bv64) == 37bv8); + free requires (memory_load8_le(mem, 2266bv64) == 100bv8); + free requires (memory_load8_le(mem, 2267bv64) == 10bv8); + free requires (memory_load8_le(mem, 2268bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); procedure printf(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2232bv64) == 1bv8); + free requires (memory_load8_le(mem, 2233bv64) == 0bv8); + free requires (memory_load8_le(mem, 2234bv64) == 2bv8); + free requires (memory_load8_le(mem, 2235bv64) == 0bv8); + free requires (memory_load8_le(mem, 2236bv64) == 84bv8); + free requires (memory_load8_le(mem, 2237bv64) == 104bv8); + free requires (memory_load8_le(mem, 2238bv64) == 101bv8); + free requires (memory_load8_le(mem, 2239bv64) == 32bv8); + free requires (memory_load8_le(mem, 2240bv64) == 99bv8); + free requires (memory_load8_le(mem, 2241bv64) == 104bv8); + free requires (memory_load8_le(mem, 2242bv64) == 97bv8); + free requires (memory_load8_le(mem, 2243bv64) == 114bv8); + free requires (memory_load8_le(mem, 2244bv64) == 32bv8); + free requires (memory_load8_le(mem, 2245bv64) == 105bv8); + free requires (memory_load8_le(mem, 2246bv64) == 115bv8); + free requires (memory_load8_le(mem, 2247bv64) == 58bv8); + free requires (memory_load8_le(mem, 2248bv64) == 32bv8); + free requires (memory_load8_le(mem, 2249bv64) == 37bv8); + free requires (memory_load8_le(mem, 2250bv64) == 99bv8); + free requires (memory_load8_le(mem, 2251bv64) == 10bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 84bv8); + free requires (memory_load8_le(mem, 2254bv64) == 104bv8); + free requires (memory_load8_le(mem, 2255bv64) == 101bv8); + free requires (memory_load8_le(mem, 2256bv64) == 32bv8); + free requires (memory_load8_le(mem, 2257bv64) == 105bv8); + free requires (memory_load8_le(mem, 2258bv64) == 110bv8); + free requires (memory_load8_le(mem, 2259bv64) == 116bv8); + free requires (memory_load8_le(mem, 2260bv64) == 32bv8); + free requires (memory_load8_le(mem, 2261bv64) == 105bv8); + free requires (memory_load8_le(mem, 2262bv64) == 115bv8); + free requires (memory_load8_le(mem, 2263bv64) == 58bv8); + free requires (memory_load8_le(mem, 2264bv64) == 32bv8); + free requires (memory_load8_le(mem, 2265bv64) == 37bv8); + free requires (memory_load8_le(mem, 2266bv64) == 100bv8); + free requires (memory_load8_le(mem, 2267bv64) == 10bv8); + free requires (memory_load8_le(mem, 2268bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 8bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 20bv8); + free requires (memory_load8_le(mem, 69593bv64) == 8bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69696bv64) == 64bv8); + free requires (memory_load8_le(mem, 69697bv64) == 16bv8); + free requires (memory_load8_le(mem, 69698bv64) == 1bv8); + free requires (memory_load8_le(mem, 69699bv64) == 0bv8); + free requires (memory_load8_le(mem, 69700bv64) == 0bv8); + free requires (memory_load8_le(mem, 69701bv64) == 0bv8); + free requires (memory_load8_le(mem, 69702bv64) == 0bv8); + free requires (memory_load8_le(mem, 69703bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69696bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69697bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69698bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69699bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69700bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69701bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69702bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69703bv64) == 0bv8); diff --git a/src/test/correct/multi_malloc/gcc/multi_malloc.expected b/src/test/correct/multi_malloc/gcc/multi_malloc.expected index 3c7b09b7d..1882b9a03 100644 --- a/src/test/correct/multi_malloc/gcc/multi_malloc.expected +++ b/src/test/correct/multi_malloc/gcc/multi_malloc.expected @@ -75,9 +75,88 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2224bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2225bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2226bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2227bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2228bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2229bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2230bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2231bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -95,9 +174,6 @@ procedure guarantee_reflexive(); procedure #free(); modifies Gamma_R16, Gamma_R17, R16, R17; - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 2224bv64) == 1bv8); free requires (memory_load8_le(mem, 2225bv64) == 0bv8); free requires (memory_load8_le(mem, 2226bv64) == 2bv8); @@ -146,118 +222,22 @@ procedure main() free requires (memory_load8_le(mem, 2269bv64) == 100bv8); free requires (memory_load8_le(mem, 2270bv64) == 10bv8); free requires (memory_load8_le(mem, 2271bv64) == 0bv8); - free requires (memory_load8_le(mem, 69504bv64) == 0bv8); - free requires (memory_load8_le(mem, 69505bv64) == 0bv8); - free requires (memory_load8_le(mem, 69506bv64) == 0bv8); - free requires (memory_load8_le(mem, 69507bv64) == 0bv8); - free requires (memory_load8_le(mem, 69508bv64) == 0bv8); - free requires (memory_load8_le(mem, 69509bv64) == 0bv8); - free requires (memory_load8_le(mem, 69510bv64) == 0bv8); - free requires (memory_load8_le(mem, 69511bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 64bv8); - free requires (memory_load8_le(mem, 69529bv64) == 6bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 64bv8); - free requires (memory_load8_le(mem, 69537bv64) == 6bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 64bv8); - free requires (memory_load8_le(mem, 69545bv64) == 6bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 64bv8); - free requires (memory_load8_le(mem, 69553bv64) == 6bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 64bv8); - free requires (memory_load8_le(mem, 69561bv64) == 6bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 64bv8); - free requires (memory_load8_le(mem, 69569bv64) == 6bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 64bv8); - free requires (memory_load8_le(mem, 69577bv64) == 6bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 144bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 8bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -266,14 +246,97 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2224bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2225bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2226bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2227bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2228bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2229bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2230bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2231bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -290,10 +353,170 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 2224bv64) == 1bv8); + free requires (memory_load8_le(mem, 2225bv64) == 0bv8); + free requires (memory_load8_le(mem, 2226bv64) == 2bv8); + free requires (memory_load8_le(mem, 2227bv64) == 0bv8); + free requires (memory_load8_le(mem, 2228bv64) == 0bv8); + free requires (memory_load8_le(mem, 2229bv64) == 0bv8); + free requires (memory_load8_le(mem, 2230bv64) == 0bv8); + free requires (memory_load8_le(mem, 2231bv64) == 0bv8); + free requires (memory_load8_le(mem, 2232bv64) == 84bv8); + free requires (memory_load8_le(mem, 2233bv64) == 104bv8); + free requires (memory_load8_le(mem, 2234bv64) == 101bv8); + free requires (memory_load8_le(mem, 2235bv64) == 32bv8); + free requires (memory_load8_le(mem, 2236bv64) == 99bv8); + free requires (memory_load8_le(mem, 2237bv64) == 104bv8); + free requires (memory_load8_le(mem, 2238bv64) == 97bv8); + free requires (memory_load8_le(mem, 2239bv64) == 114bv8); + free requires (memory_load8_le(mem, 2240bv64) == 32bv8); + free requires (memory_load8_le(mem, 2241bv64) == 105bv8); + free requires (memory_load8_le(mem, 2242bv64) == 115bv8); + free requires (memory_load8_le(mem, 2243bv64) == 58bv8); + free requires (memory_load8_le(mem, 2244bv64) == 32bv8); + free requires (memory_load8_le(mem, 2245bv64) == 37bv8); + free requires (memory_load8_le(mem, 2246bv64) == 99bv8); + free requires (memory_load8_le(mem, 2247bv64) == 10bv8); + free requires (memory_load8_le(mem, 2248bv64) == 0bv8); + free requires (memory_load8_le(mem, 2249bv64) == 0bv8); + free requires (memory_load8_le(mem, 2250bv64) == 0bv8); + free requires (memory_load8_le(mem, 2251bv64) == 0bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 0bv8); + free requires (memory_load8_le(mem, 2254bv64) == 0bv8); + free requires (memory_load8_le(mem, 2255bv64) == 0bv8); + free requires (memory_load8_le(mem, 2256bv64) == 84bv8); + free requires (memory_load8_le(mem, 2257bv64) == 104bv8); + free requires (memory_load8_le(mem, 2258bv64) == 101bv8); + free requires (memory_load8_le(mem, 2259bv64) == 32bv8); + free requires (memory_load8_le(mem, 2260bv64) == 105bv8); + free requires (memory_load8_le(mem, 2261bv64) == 110bv8); + free requires (memory_load8_le(mem, 2262bv64) == 116bv8); + free requires (memory_load8_le(mem, 2263bv64) == 32bv8); + free requires (memory_load8_le(mem, 2264bv64) == 105bv8); + free requires (memory_load8_le(mem, 2265bv64) == 115bv8); + free requires (memory_load8_le(mem, 2266bv64) == 58bv8); + free requires (memory_load8_le(mem, 2267bv64) == 32bv8); + free requires (memory_load8_le(mem, 2268bv64) == 37bv8); + free requires (memory_load8_le(mem, 2269bv64) == 100bv8); + free requires (memory_load8_le(mem, 2270bv64) == 10bv8); + free requires (memory_load8_le(mem, 2271bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2224bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2225bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2226bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2227bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2228bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2229bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2230bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2231bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -362,6 +585,326 @@ procedure main() procedure malloc(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2224bv64) == 1bv8); + free requires (memory_load8_le(mem, 2225bv64) == 0bv8); + free requires (memory_load8_le(mem, 2226bv64) == 2bv8); + free requires (memory_load8_le(mem, 2227bv64) == 0bv8); + free requires (memory_load8_le(mem, 2228bv64) == 0bv8); + free requires (memory_load8_le(mem, 2229bv64) == 0bv8); + free requires (memory_load8_le(mem, 2230bv64) == 0bv8); + free requires (memory_load8_le(mem, 2231bv64) == 0bv8); + free requires (memory_load8_le(mem, 2232bv64) == 84bv8); + free requires (memory_load8_le(mem, 2233bv64) == 104bv8); + free requires (memory_load8_le(mem, 2234bv64) == 101bv8); + free requires (memory_load8_le(mem, 2235bv64) == 32bv8); + free requires (memory_load8_le(mem, 2236bv64) == 99bv8); + free requires (memory_load8_le(mem, 2237bv64) == 104bv8); + free requires (memory_load8_le(mem, 2238bv64) == 97bv8); + free requires (memory_load8_le(mem, 2239bv64) == 114bv8); + free requires (memory_load8_le(mem, 2240bv64) == 32bv8); + free requires (memory_load8_le(mem, 2241bv64) == 105bv8); + free requires (memory_load8_le(mem, 2242bv64) == 115bv8); + free requires (memory_load8_le(mem, 2243bv64) == 58bv8); + free requires (memory_load8_le(mem, 2244bv64) == 32bv8); + free requires (memory_load8_le(mem, 2245bv64) == 37bv8); + free requires (memory_load8_le(mem, 2246bv64) == 99bv8); + free requires (memory_load8_le(mem, 2247bv64) == 10bv8); + free requires (memory_load8_le(mem, 2248bv64) == 0bv8); + free requires (memory_load8_le(mem, 2249bv64) == 0bv8); + free requires (memory_load8_le(mem, 2250bv64) == 0bv8); + free requires (memory_load8_le(mem, 2251bv64) == 0bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 0bv8); + free requires (memory_load8_le(mem, 2254bv64) == 0bv8); + free requires (memory_load8_le(mem, 2255bv64) == 0bv8); + free requires (memory_load8_le(mem, 2256bv64) == 84bv8); + free requires (memory_load8_le(mem, 2257bv64) == 104bv8); + free requires (memory_load8_le(mem, 2258bv64) == 101bv8); + free requires (memory_load8_le(mem, 2259bv64) == 32bv8); + free requires (memory_load8_le(mem, 2260bv64) == 105bv8); + free requires (memory_load8_le(mem, 2261bv64) == 110bv8); + free requires (memory_load8_le(mem, 2262bv64) == 116bv8); + free requires (memory_load8_le(mem, 2263bv64) == 32bv8); + free requires (memory_load8_le(mem, 2264bv64) == 105bv8); + free requires (memory_load8_le(mem, 2265bv64) == 115bv8); + free requires (memory_load8_le(mem, 2266bv64) == 58bv8); + free requires (memory_load8_le(mem, 2267bv64) == 32bv8); + free requires (memory_load8_le(mem, 2268bv64) == 37bv8); + free requires (memory_load8_le(mem, 2269bv64) == 100bv8); + free requires (memory_load8_le(mem, 2270bv64) == 10bv8); + free requires (memory_load8_le(mem, 2271bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2224bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2225bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2226bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2227bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2228bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2229bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2230bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2231bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure printf(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2224bv64) == 1bv8); + free requires (memory_load8_le(mem, 2225bv64) == 0bv8); + free requires (memory_load8_le(mem, 2226bv64) == 2bv8); + free requires (memory_load8_le(mem, 2227bv64) == 0bv8); + free requires (memory_load8_le(mem, 2228bv64) == 0bv8); + free requires (memory_load8_le(mem, 2229bv64) == 0bv8); + free requires (memory_load8_le(mem, 2230bv64) == 0bv8); + free requires (memory_load8_le(mem, 2231bv64) == 0bv8); + free requires (memory_load8_le(mem, 2232bv64) == 84bv8); + free requires (memory_load8_le(mem, 2233bv64) == 104bv8); + free requires (memory_load8_le(mem, 2234bv64) == 101bv8); + free requires (memory_load8_le(mem, 2235bv64) == 32bv8); + free requires (memory_load8_le(mem, 2236bv64) == 99bv8); + free requires (memory_load8_le(mem, 2237bv64) == 104bv8); + free requires (memory_load8_le(mem, 2238bv64) == 97bv8); + free requires (memory_load8_le(mem, 2239bv64) == 114bv8); + free requires (memory_load8_le(mem, 2240bv64) == 32bv8); + free requires (memory_load8_le(mem, 2241bv64) == 105bv8); + free requires (memory_load8_le(mem, 2242bv64) == 115bv8); + free requires (memory_load8_le(mem, 2243bv64) == 58bv8); + free requires (memory_load8_le(mem, 2244bv64) == 32bv8); + free requires (memory_load8_le(mem, 2245bv64) == 37bv8); + free requires (memory_load8_le(mem, 2246bv64) == 99bv8); + free requires (memory_load8_le(mem, 2247bv64) == 10bv8); + free requires (memory_load8_le(mem, 2248bv64) == 0bv8); + free requires (memory_load8_le(mem, 2249bv64) == 0bv8); + free requires (memory_load8_le(mem, 2250bv64) == 0bv8); + free requires (memory_load8_le(mem, 2251bv64) == 0bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 0bv8); + free requires (memory_load8_le(mem, 2254bv64) == 0bv8); + free requires (memory_load8_le(mem, 2255bv64) == 0bv8); + free requires (memory_load8_le(mem, 2256bv64) == 84bv8); + free requires (memory_load8_le(mem, 2257bv64) == 104bv8); + free requires (memory_load8_le(mem, 2258bv64) == 101bv8); + free requires (memory_load8_le(mem, 2259bv64) == 32bv8); + free requires (memory_load8_le(mem, 2260bv64) == 105bv8); + free requires (memory_load8_le(mem, 2261bv64) == 110bv8); + free requires (memory_load8_le(mem, 2262bv64) == 116bv8); + free requires (memory_load8_le(mem, 2263bv64) == 32bv8); + free requires (memory_load8_le(mem, 2264bv64) == 105bv8); + free requires (memory_load8_le(mem, 2265bv64) == 115bv8); + free requires (memory_load8_le(mem, 2266bv64) == 58bv8); + free requires (memory_load8_le(mem, 2267bv64) == 32bv8); + free requires (memory_load8_le(mem, 2268bv64) == 37bv8); + free requires (memory_load8_le(mem, 2269bv64) == 100bv8); + free requires (memory_load8_le(mem, 2270bv64) == 10bv8); + free requires (memory_load8_le(mem, 2271bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2224bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2225bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2226bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2227bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2228bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2229bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2230bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2231bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); diff --git a/src/test/correct/multi_malloc/gcc_O2/multi_malloc.expected b/src/test/correct/multi_malloc/gcc_O2/multi_malloc.expected index 773c5d4e6..13dbfd6b1 100644 --- a/src/test/correct/multi_malloc/gcc_O2/multi_malloc.expected +++ b/src/test/correct/multi_malloc/gcc_O2/multi_malloc.expected @@ -43,9 +43,88 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2024bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2032bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2033bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2034bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2035bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2036bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2037bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2038bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2039bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2040bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2041bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2042bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2043bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2044bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2045bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2046bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2047bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2048bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2049bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2056bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2057bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2058bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2059bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2060bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2061bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2062bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2063bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2064bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2065bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2066bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2067bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2068bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2069bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2070bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -63,9 +142,6 @@ procedure guarantee_reflexive(); procedure __printf_chk(); modifies Gamma_R16, Gamma_R17, R16, R17; - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R2, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R1, R16, R17, R2, R29, R30, R31, stack; free requires (memory_load8_le(mem, 2024bv64) == 1bv8); free requires (memory_load8_le(mem, 2025bv64) == 0bv8); free requires (memory_load8_le(mem, 2026bv64) == 2bv8); @@ -114,102 +190,22 @@ procedure main() free requires (memory_load8_le(mem, 2069bv64) == 100bv8); free requires (memory_load8_le(mem, 2070bv64) == 10bv8); free requires (memory_load8_le(mem, 2071bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 224bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 224bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 224bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 224bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 224bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 160bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 208bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 128bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 128bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -218,14 +214,97 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2024bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2032bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2033bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2034bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2035bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2036bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2037bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2038bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2039bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2040bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2041bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2042bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2043bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2044bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2045bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2046bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2047bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2048bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2049bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2056bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2057bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2058bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2059bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2060bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2061bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2062bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2063bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2064bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2065bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2066bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2067bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2068bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2069bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2070bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R2, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R1, R16, R17, R2, R29, R30, R31, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -242,10 +321,170 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 2024bv64) == 1bv8); + free requires (memory_load8_le(mem, 2025bv64) == 0bv8); + free requires (memory_load8_le(mem, 2026bv64) == 2bv8); + free requires (memory_load8_le(mem, 2027bv64) == 0bv8); + free requires (memory_load8_le(mem, 2028bv64) == 0bv8); + free requires (memory_load8_le(mem, 2029bv64) == 0bv8); + free requires (memory_load8_le(mem, 2030bv64) == 0bv8); + free requires (memory_load8_le(mem, 2031bv64) == 0bv8); + free requires (memory_load8_le(mem, 2032bv64) == 84bv8); + free requires (memory_load8_le(mem, 2033bv64) == 104bv8); + free requires (memory_load8_le(mem, 2034bv64) == 101bv8); + free requires (memory_load8_le(mem, 2035bv64) == 32bv8); + free requires (memory_load8_le(mem, 2036bv64) == 99bv8); + free requires (memory_load8_le(mem, 2037bv64) == 104bv8); + free requires (memory_load8_le(mem, 2038bv64) == 97bv8); + free requires (memory_load8_le(mem, 2039bv64) == 114bv8); + free requires (memory_load8_le(mem, 2040bv64) == 32bv8); + free requires (memory_load8_le(mem, 2041bv64) == 105bv8); + free requires (memory_load8_le(mem, 2042bv64) == 115bv8); + free requires (memory_load8_le(mem, 2043bv64) == 58bv8); + free requires (memory_load8_le(mem, 2044bv64) == 32bv8); + free requires (memory_load8_le(mem, 2045bv64) == 37bv8); + free requires (memory_load8_le(mem, 2046bv64) == 99bv8); + free requires (memory_load8_le(mem, 2047bv64) == 10bv8); + free requires (memory_load8_le(mem, 2048bv64) == 0bv8); + free requires (memory_load8_le(mem, 2049bv64) == 0bv8); + free requires (memory_load8_le(mem, 2050bv64) == 0bv8); + free requires (memory_load8_le(mem, 2051bv64) == 0bv8); + free requires (memory_load8_le(mem, 2052bv64) == 0bv8); + free requires (memory_load8_le(mem, 2053bv64) == 0bv8); + free requires (memory_load8_le(mem, 2054bv64) == 0bv8); + free requires (memory_load8_le(mem, 2055bv64) == 0bv8); + free requires (memory_load8_le(mem, 2056bv64) == 84bv8); + free requires (memory_load8_le(mem, 2057bv64) == 104bv8); + free requires (memory_load8_le(mem, 2058bv64) == 101bv8); + free requires (memory_load8_le(mem, 2059bv64) == 32bv8); + free requires (memory_load8_le(mem, 2060bv64) == 105bv8); + free requires (memory_load8_le(mem, 2061bv64) == 110bv8); + free requires (memory_load8_le(mem, 2062bv64) == 116bv8); + free requires (memory_load8_le(mem, 2063bv64) == 32bv8); + free requires (memory_load8_le(mem, 2064bv64) == 105bv8); + free requires (memory_load8_le(mem, 2065bv64) == 115bv8); + free requires (memory_load8_le(mem, 2066bv64) == 58bv8); + free requires (memory_load8_le(mem, 2067bv64) == 32bv8); + free requires (memory_load8_le(mem, 2068bv64) == 37bv8); + free requires (memory_load8_le(mem, 2069bv64) == 100bv8); + free requires (memory_load8_le(mem, 2070bv64) == 10bv8); + free requires (memory_load8_le(mem, 2071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 208bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 128bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 128bv8); + free requires (memory_load8_le(mem, 69617bv64) == 6bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2024bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2025bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2026bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2032bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2033bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2034bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2035bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2036bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2037bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2038bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2039bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2040bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2041bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2042bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2043bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2044bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2045bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2046bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2047bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2048bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2049bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2050bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2051bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2052bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2053bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2054bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2055bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2056bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2057bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2058bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2059bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2060bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2061bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2062bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2063bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2064bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2065bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2066bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2067bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2068bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2069bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2070bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 208bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 128bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #1: bv64; var Gamma_#1: bool; diff --git a/src/test/correct/multi_malloc/gcc_no_plt_no_pic/multi_malloc.expected b/src/test/correct/multi_malloc/gcc_no_plt_no_pic/multi_malloc.expected index 35770119f..4fac00882 100644 --- a/src/test/correct/multi_malloc/gcc_no_plt_no_pic/multi_malloc.expected +++ b/src/test/correct/multi_malloc/gcc_no_plt_no_pic/multi_malloc.expected @@ -75,9 +75,88 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2224bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2225bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2226bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2227bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2228bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2229bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2230bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2231bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -95,9 +174,6 @@ procedure guarantee_reflexive(); procedure #free(); modifies Gamma_R16, Gamma_R17, R16, R17; - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 2224bv64) == 1bv8); free requires (memory_load8_le(mem, 2225bv64) == 0bv8); free requires (memory_load8_le(mem, 2226bv64) == 2bv8); @@ -146,118 +222,22 @@ procedure main() free requires (memory_load8_le(mem, 2269bv64) == 100bv8); free requires (memory_load8_le(mem, 2270bv64) == 10bv8); free requires (memory_load8_le(mem, 2271bv64) == 0bv8); - free requires (memory_load8_le(mem, 69504bv64) == 0bv8); - free requires (memory_load8_le(mem, 69505bv64) == 0bv8); - free requires (memory_load8_le(mem, 69506bv64) == 0bv8); - free requires (memory_load8_le(mem, 69507bv64) == 0bv8); - free requires (memory_load8_le(mem, 69508bv64) == 0bv8); - free requires (memory_load8_le(mem, 69509bv64) == 0bv8); - free requires (memory_load8_le(mem, 69510bv64) == 0bv8); - free requires (memory_load8_le(mem, 69511bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 64bv8); - free requires (memory_load8_le(mem, 69529bv64) == 6bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 64bv8); - free requires (memory_load8_le(mem, 69537bv64) == 6bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 64bv8); - free requires (memory_load8_le(mem, 69545bv64) == 6bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 64bv8); - free requires (memory_load8_le(mem, 69553bv64) == 6bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 64bv8); - free requires (memory_load8_le(mem, 69561bv64) == 6bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 64bv8); - free requires (memory_load8_le(mem, 69569bv64) == 6bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 64bv8); - free requires (memory_load8_le(mem, 69577bv64) == 6bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 144bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 8bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -266,14 +246,97 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2224bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2225bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2226bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2227bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2228bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2229bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2230bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2231bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -290,10 +353,170 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 2224bv64) == 1bv8); + free requires (memory_load8_le(mem, 2225bv64) == 0bv8); + free requires (memory_load8_le(mem, 2226bv64) == 2bv8); + free requires (memory_load8_le(mem, 2227bv64) == 0bv8); + free requires (memory_load8_le(mem, 2228bv64) == 0bv8); + free requires (memory_load8_le(mem, 2229bv64) == 0bv8); + free requires (memory_load8_le(mem, 2230bv64) == 0bv8); + free requires (memory_load8_le(mem, 2231bv64) == 0bv8); + free requires (memory_load8_le(mem, 2232bv64) == 84bv8); + free requires (memory_load8_le(mem, 2233bv64) == 104bv8); + free requires (memory_load8_le(mem, 2234bv64) == 101bv8); + free requires (memory_load8_le(mem, 2235bv64) == 32bv8); + free requires (memory_load8_le(mem, 2236bv64) == 99bv8); + free requires (memory_load8_le(mem, 2237bv64) == 104bv8); + free requires (memory_load8_le(mem, 2238bv64) == 97bv8); + free requires (memory_load8_le(mem, 2239bv64) == 114bv8); + free requires (memory_load8_le(mem, 2240bv64) == 32bv8); + free requires (memory_load8_le(mem, 2241bv64) == 105bv8); + free requires (memory_load8_le(mem, 2242bv64) == 115bv8); + free requires (memory_load8_le(mem, 2243bv64) == 58bv8); + free requires (memory_load8_le(mem, 2244bv64) == 32bv8); + free requires (memory_load8_le(mem, 2245bv64) == 37bv8); + free requires (memory_load8_le(mem, 2246bv64) == 99bv8); + free requires (memory_load8_le(mem, 2247bv64) == 10bv8); + free requires (memory_load8_le(mem, 2248bv64) == 0bv8); + free requires (memory_load8_le(mem, 2249bv64) == 0bv8); + free requires (memory_load8_le(mem, 2250bv64) == 0bv8); + free requires (memory_load8_le(mem, 2251bv64) == 0bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 0bv8); + free requires (memory_load8_le(mem, 2254bv64) == 0bv8); + free requires (memory_load8_le(mem, 2255bv64) == 0bv8); + free requires (memory_load8_le(mem, 2256bv64) == 84bv8); + free requires (memory_load8_le(mem, 2257bv64) == 104bv8); + free requires (memory_load8_le(mem, 2258bv64) == 101bv8); + free requires (memory_load8_le(mem, 2259bv64) == 32bv8); + free requires (memory_load8_le(mem, 2260bv64) == 105bv8); + free requires (memory_load8_le(mem, 2261bv64) == 110bv8); + free requires (memory_load8_le(mem, 2262bv64) == 116bv8); + free requires (memory_load8_le(mem, 2263bv64) == 32bv8); + free requires (memory_load8_le(mem, 2264bv64) == 105bv8); + free requires (memory_load8_le(mem, 2265bv64) == 115bv8); + free requires (memory_load8_le(mem, 2266bv64) == 58bv8); + free requires (memory_load8_le(mem, 2267bv64) == 32bv8); + free requires (memory_load8_le(mem, 2268bv64) == 37bv8); + free requires (memory_load8_le(mem, 2269bv64) == 100bv8); + free requires (memory_load8_le(mem, 2270bv64) == 10bv8); + free requires (memory_load8_le(mem, 2271bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2224bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2225bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2226bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2227bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2228bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2229bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2230bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2231bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -362,6 +585,326 @@ procedure main() procedure malloc(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2224bv64) == 1bv8); + free requires (memory_load8_le(mem, 2225bv64) == 0bv8); + free requires (memory_load8_le(mem, 2226bv64) == 2bv8); + free requires (memory_load8_le(mem, 2227bv64) == 0bv8); + free requires (memory_load8_le(mem, 2228bv64) == 0bv8); + free requires (memory_load8_le(mem, 2229bv64) == 0bv8); + free requires (memory_load8_le(mem, 2230bv64) == 0bv8); + free requires (memory_load8_le(mem, 2231bv64) == 0bv8); + free requires (memory_load8_le(mem, 2232bv64) == 84bv8); + free requires (memory_load8_le(mem, 2233bv64) == 104bv8); + free requires (memory_load8_le(mem, 2234bv64) == 101bv8); + free requires (memory_load8_le(mem, 2235bv64) == 32bv8); + free requires (memory_load8_le(mem, 2236bv64) == 99bv8); + free requires (memory_load8_le(mem, 2237bv64) == 104bv8); + free requires (memory_load8_le(mem, 2238bv64) == 97bv8); + free requires (memory_load8_le(mem, 2239bv64) == 114bv8); + free requires (memory_load8_le(mem, 2240bv64) == 32bv8); + free requires (memory_load8_le(mem, 2241bv64) == 105bv8); + free requires (memory_load8_le(mem, 2242bv64) == 115bv8); + free requires (memory_load8_le(mem, 2243bv64) == 58bv8); + free requires (memory_load8_le(mem, 2244bv64) == 32bv8); + free requires (memory_load8_le(mem, 2245bv64) == 37bv8); + free requires (memory_load8_le(mem, 2246bv64) == 99bv8); + free requires (memory_load8_le(mem, 2247bv64) == 10bv8); + free requires (memory_load8_le(mem, 2248bv64) == 0bv8); + free requires (memory_load8_le(mem, 2249bv64) == 0bv8); + free requires (memory_load8_le(mem, 2250bv64) == 0bv8); + free requires (memory_load8_le(mem, 2251bv64) == 0bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 0bv8); + free requires (memory_load8_le(mem, 2254bv64) == 0bv8); + free requires (memory_load8_le(mem, 2255bv64) == 0bv8); + free requires (memory_load8_le(mem, 2256bv64) == 84bv8); + free requires (memory_load8_le(mem, 2257bv64) == 104bv8); + free requires (memory_load8_le(mem, 2258bv64) == 101bv8); + free requires (memory_load8_le(mem, 2259bv64) == 32bv8); + free requires (memory_load8_le(mem, 2260bv64) == 105bv8); + free requires (memory_load8_le(mem, 2261bv64) == 110bv8); + free requires (memory_load8_le(mem, 2262bv64) == 116bv8); + free requires (memory_load8_le(mem, 2263bv64) == 32bv8); + free requires (memory_load8_le(mem, 2264bv64) == 105bv8); + free requires (memory_load8_le(mem, 2265bv64) == 115bv8); + free requires (memory_load8_le(mem, 2266bv64) == 58bv8); + free requires (memory_load8_le(mem, 2267bv64) == 32bv8); + free requires (memory_load8_le(mem, 2268bv64) == 37bv8); + free requires (memory_load8_le(mem, 2269bv64) == 100bv8); + free requires (memory_load8_le(mem, 2270bv64) == 10bv8); + free requires (memory_load8_le(mem, 2271bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2224bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2225bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2226bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2227bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2228bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2229bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2230bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2231bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure printf(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2224bv64) == 1bv8); + free requires (memory_load8_le(mem, 2225bv64) == 0bv8); + free requires (memory_load8_le(mem, 2226bv64) == 2bv8); + free requires (memory_load8_le(mem, 2227bv64) == 0bv8); + free requires (memory_load8_le(mem, 2228bv64) == 0bv8); + free requires (memory_load8_le(mem, 2229bv64) == 0bv8); + free requires (memory_load8_le(mem, 2230bv64) == 0bv8); + free requires (memory_load8_le(mem, 2231bv64) == 0bv8); + free requires (memory_load8_le(mem, 2232bv64) == 84bv8); + free requires (memory_load8_le(mem, 2233bv64) == 104bv8); + free requires (memory_load8_le(mem, 2234bv64) == 101bv8); + free requires (memory_load8_le(mem, 2235bv64) == 32bv8); + free requires (memory_load8_le(mem, 2236bv64) == 99bv8); + free requires (memory_load8_le(mem, 2237bv64) == 104bv8); + free requires (memory_load8_le(mem, 2238bv64) == 97bv8); + free requires (memory_load8_le(mem, 2239bv64) == 114bv8); + free requires (memory_load8_le(mem, 2240bv64) == 32bv8); + free requires (memory_load8_le(mem, 2241bv64) == 105bv8); + free requires (memory_load8_le(mem, 2242bv64) == 115bv8); + free requires (memory_load8_le(mem, 2243bv64) == 58bv8); + free requires (memory_load8_le(mem, 2244bv64) == 32bv8); + free requires (memory_load8_le(mem, 2245bv64) == 37bv8); + free requires (memory_load8_le(mem, 2246bv64) == 99bv8); + free requires (memory_load8_le(mem, 2247bv64) == 10bv8); + free requires (memory_load8_le(mem, 2248bv64) == 0bv8); + free requires (memory_load8_le(mem, 2249bv64) == 0bv8); + free requires (memory_load8_le(mem, 2250bv64) == 0bv8); + free requires (memory_load8_le(mem, 2251bv64) == 0bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 0bv8); + free requires (memory_load8_le(mem, 2254bv64) == 0bv8); + free requires (memory_load8_le(mem, 2255bv64) == 0bv8); + free requires (memory_load8_le(mem, 2256bv64) == 84bv8); + free requires (memory_load8_le(mem, 2257bv64) == 104bv8); + free requires (memory_load8_le(mem, 2258bv64) == 101bv8); + free requires (memory_load8_le(mem, 2259bv64) == 32bv8); + free requires (memory_load8_le(mem, 2260bv64) == 105bv8); + free requires (memory_load8_le(mem, 2261bv64) == 110bv8); + free requires (memory_load8_le(mem, 2262bv64) == 116bv8); + free requires (memory_load8_le(mem, 2263bv64) == 32bv8); + free requires (memory_load8_le(mem, 2264bv64) == 105bv8); + free requires (memory_load8_le(mem, 2265bv64) == 115bv8); + free requires (memory_load8_le(mem, 2266bv64) == 58bv8); + free requires (memory_load8_le(mem, 2267bv64) == 32bv8); + free requires (memory_load8_le(mem, 2268bv64) == 37bv8); + free requires (memory_load8_le(mem, 2269bv64) == 100bv8); + free requires (memory_load8_le(mem, 2270bv64) == 10bv8); + free requires (memory_load8_le(mem, 2271bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2224bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2225bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2226bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2227bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2228bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2229bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2230bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2231bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); diff --git a/src/test/correct/multi_malloc/gcc_pic/multi_malloc.expected b/src/test/correct/multi_malloc/gcc_pic/multi_malloc.expected index 35770119f..4fac00882 100644 --- a/src/test/correct/multi_malloc/gcc_pic/multi_malloc.expected +++ b/src/test/correct/multi_malloc/gcc_pic/multi_malloc.expected @@ -75,9 +75,88 @@ function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); function {:bvbuiltin "zero_extend 56"} zero_extend56_8(bv8) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2224bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2225bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2226bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2227bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2228bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2229bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2230bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2231bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -95,9 +174,6 @@ procedure guarantee_reflexive(); procedure #free(); modifies Gamma_R16, Gamma_R17, R16, R17; - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 2224bv64) == 1bv8); free requires (memory_load8_le(mem, 2225bv64) == 0bv8); free requires (memory_load8_le(mem, 2226bv64) == 2bv8); @@ -146,118 +222,22 @@ procedure main() free requires (memory_load8_le(mem, 2269bv64) == 100bv8); free requires (memory_load8_le(mem, 2270bv64) == 10bv8); free requires (memory_load8_le(mem, 2271bv64) == 0bv8); - free requires (memory_load8_le(mem, 69504bv64) == 0bv8); - free requires (memory_load8_le(mem, 69505bv64) == 0bv8); - free requires (memory_load8_le(mem, 69506bv64) == 0bv8); - free requires (memory_load8_le(mem, 69507bv64) == 0bv8); - free requires (memory_load8_le(mem, 69508bv64) == 0bv8); - free requires (memory_load8_le(mem, 69509bv64) == 0bv8); - free requires (memory_load8_le(mem, 69510bv64) == 0bv8); - free requires (memory_load8_le(mem, 69511bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 64bv8); - free requires (memory_load8_le(mem, 69529bv64) == 6bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 64bv8); - free requires (memory_load8_le(mem, 69537bv64) == 6bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 64bv8); - free requires (memory_load8_le(mem, 69545bv64) == 6bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 64bv8); - free requires (memory_load8_le(mem, 69553bv64) == 6bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 64bv8); - free requires (memory_load8_le(mem, 69561bv64) == 6bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 64bv8); - free requires (memory_load8_le(mem, 69569bv64) == 6bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 64bv8); - free requires (memory_load8_le(mem, 69577bv64) == 6bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 144bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 20bv8); free requires (memory_load8_le(mem, 69617bv64) == 8bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -266,14 +246,97 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2224bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2225bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2226bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2227bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2228bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2229bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2230bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2231bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R16, R17, R29, R30, R31, mem, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -290,10 +353,170 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 2224bv64) == 1bv8); + free requires (memory_load8_le(mem, 2225bv64) == 0bv8); + free requires (memory_load8_le(mem, 2226bv64) == 2bv8); + free requires (memory_load8_le(mem, 2227bv64) == 0bv8); + free requires (memory_load8_le(mem, 2228bv64) == 0bv8); + free requires (memory_load8_le(mem, 2229bv64) == 0bv8); + free requires (memory_load8_le(mem, 2230bv64) == 0bv8); + free requires (memory_load8_le(mem, 2231bv64) == 0bv8); + free requires (memory_load8_le(mem, 2232bv64) == 84bv8); + free requires (memory_load8_le(mem, 2233bv64) == 104bv8); + free requires (memory_load8_le(mem, 2234bv64) == 101bv8); + free requires (memory_load8_le(mem, 2235bv64) == 32bv8); + free requires (memory_load8_le(mem, 2236bv64) == 99bv8); + free requires (memory_load8_le(mem, 2237bv64) == 104bv8); + free requires (memory_load8_le(mem, 2238bv64) == 97bv8); + free requires (memory_load8_le(mem, 2239bv64) == 114bv8); + free requires (memory_load8_le(mem, 2240bv64) == 32bv8); + free requires (memory_load8_le(mem, 2241bv64) == 105bv8); + free requires (memory_load8_le(mem, 2242bv64) == 115bv8); + free requires (memory_load8_le(mem, 2243bv64) == 58bv8); + free requires (memory_load8_le(mem, 2244bv64) == 32bv8); + free requires (memory_load8_le(mem, 2245bv64) == 37bv8); + free requires (memory_load8_le(mem, 2246bv64) == 99bv8); + free requires (memory_load8_le(mem, 2247bv64) == 10bv8); + free requires (memory_load8_le(mem, 2248bv64) == 0bv8); + free requires (memory_load8_le(mem, 2249bv64) == 0bv8); + free requires (memory_load8_le(mem, 2250bv64) == 0bv8); + free requires (memory_load8_le(mem, 2251bv64) == 0bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 0bv8); + free requires (memory_load8_le(mem, 2254bv64) == 0bv8); + free requires (memory_load8_le(mem, 2255bv64) == 0bv8); + free requires (memory_load8_le(mem, 2256bv64) == 84bv8); + free requires (memory_load8_le(mem, 2257bv64) == 104bv8); + free requires (memory_load8_le(mem, 2258bv64) == 101bv8); + free requires (memory_load8_le(mem, 2259bv64) == 32bv8); + free requires (memory_load8_le(mem, 2260bv64) == 105bv8); + free requires (memory_load8_le(mem, 2261bv64) == 110bv8); + free requires (memory_load8_le(mem, 2262bv64) == 116bv8); + free requires (memory_load8_le(mem, 2263bv64) == 32bv8); + free requires (memory_load8_le(mem, 2264bv64) == 105bv8); + free requires (memory_load8_le(mem, 2265bv64) == 115bv8); + free requires (memory_load8_le(mem, 2266bv64) == 58bv8); + free requires (memory_load8_le(mem, 2267bv64) == 32bv8); + free requires (memory_load8_le(mem, 2268bv64) == 37bv8); + free requires (memory_load8_le(mem, 2269bv64) == 100bv8); + free requires (memory_load8_le(mem, 2270bv64) == 10bv8); + free requires (memory_load8_le(mem, 2271bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2224bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2225bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2226bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2227bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2228bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2229bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2230bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2231bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; @@ -362,6 +585,326 @@ procedure main() procedure malloc(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2224bv64) == 1bv8); + free requires (memory_load8_le(mem, 2225bv64) == 0bv8); + free requires (memory_load8_le(mem, 2226bv64) == 2bv8); + free requires (memory_load8_le(mem, 2227bv64) == 0bv8); + free requires (memory_load8_le(mem, 2228bv64) == 0bv8); + free requires (memory_load8_le(mem, 2229bv64) == 0bv8); + free requires (memory_load8_le(mem, 2230bv64) == 0bv8); + free requires (memory_load8_le(mem, 2231bv64) == 0bv8); + free requires (memory_load8_le(mem, 2232bv64) == 84bv8); + free requires (memory_load8_le(mem, 2233bv64) == 104bv8); + free requires (memory_load8_le(mem, 2234bv64) == 101bv8); + free requires (memory_load8_le(mem, 2235bv64) == 32bv8); + free requires (memory_load8_le(mem, 2236bv64) == 99bv8); + free requires (memory_load8_le(mem, 2237bv64) == 104bv8); + free requires (memory_load8_le(mem, 2238bv64) == 97bv8); + free requires (memory_load8_le(mem, 2239bv64) == 114bv8); + free requires (memory_load8_le(mem, 2240bv64) == 32bv8); + free requires (memory_load8_le(mem, 2241bv64) == 105bv8); + free requires (memory_load8_le(mem, 2242bv64) == 115bv8); + free requires (memory_load8_le(mem, 2243bv64) == 58bv8); + free requires (memory_load8_le(mem, 2244bv64) == 32bv8); + free requires (memory_load8_le(mem, 2245bv64) == 37bv8); + free requires (memory_load8_le(mem, 2246bv64) == 99bv8); + free requires (memory_load8_le(mem, 2247bv64) == 10bv8); + free requires (memory_load8_le(mem, 2248bv64) == 0bv8); + free requires (memory_load8_le(mem, 2249bv64) == 0bv8); + free requires (memory_load8_le(mem, 2250bv64) == 0bv8); + free requires (memory_load8_le(mem, 2251bv64) == 0bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 0bv8); + free requires (memory_load8_le(mem, 2254bv64) == 0bv8); + free requires (memory_load8_le(mem, 2255bv64) == 0bv8); + free requires (memory_load8_le(mem, 2256bv64) == 84bv8); + free requires (memory_load8_le(mem, 2257bv64) == 104bv8); + free requires (memory_load8_le(mem, 2258bv64) == 101bv8); + free requires (memory_load8_le(mem, 2259bv64) == 32bv8); + free requires (memory_load8_le(mem, 2260bv64) == 105bv8); + free requires (memory_load8_le(mem, 2261bv64) == 110bv8); + free requires (memory_load8_le(mem, 2262bv64) == 116bv8); + free requires (memory_load8_le(mem, 2263bv64) == 32bv8); + free requires (memory_load8_le(mem, 2264bv64) == 105bv8); + free requires (memory_load8_le(mem, 2265bv64) == 115bv8); + free requires (memory_load8_le(mem, 2266bv64) == 58bv8); + free requires (memory_load8_le(mem, 2267bv64) == 32bv8); + free requires (memory_load8_le(mem, 2268bv64) == 37bv8); + free requires (memory_load8_le(mem, 2269bv64) == 100bv8); + free requires (memory_load8_le(mem, 2270bv64) == 10bv8); + free requires (memory_load8_le(mem, 2271bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2224bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2225bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2226bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2227bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2228bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2229bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2230bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2231bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure printf(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 2224bv64) == 1bv8); + free requires (memory_load8_le(mem, 2225bv64) == 0bv8); + free requires (memory_load8_le(mem, 2226bv64) == 2bv8); + free requires (memory_load8_le(mem, 2227bv64) == 0bv8); + free requires (memory_load8_le(mem, 2228bv64) == 0bv8); + free requires (memory_load8_le(mem, 2229bv64) == 0bv8); + free requires (memory_load8_le(mem, 2230bv64) == 0bv8); + free requires (memory_load8_le(mem, 2231bv64) == 0bv8); + free requires (memory_load8_le(mem, 2232bv64) == 84bv8); + free requires (memory_load8_le(mem, 2233bv64) == 104bv8); + free requires (memory_load8_le(mem, 2234bv64) == 101bv8); + free requires (memory_load8_le(mem, 2235bv64) == 32bv8); + free requires (memory_load8_le(mem, 2236bv64) == 99bv8); + free requires (memory_load8_le(mem, 2237bv64) == 104bv8); + free requires (memory_load8_le(mem, 2238bv64) == 97bv8); + free requires (memory_load8_le(mem, 2239bv64) == 114bv8); + free requires (memory_load8_le(mem, 2240bv64) == 32bv8); + free requires (memory_load8_le(mem, 2241bv64) == 105bv8); + free requires (memory_load8_le(mem, 2242bv64) == 115bv8); + free requires (memory_load8_le(mem, 2243bv64) == 58bv8); + free requires (memory_load8_le(mem, 2244bv64) == 32bv8); + free requires (memory_load8_le(mem, 2245bv64) == 37bv8); + free requires (memory_load8_le(mem, 2246bv64) == 99bv8); + free requires (memory_load8_le(mem, 2247bv64) == 10bv8); + free requires (memory_load8_le(mem, 2248bv64) == 0bv8); + free requires (memory_load8_le(mem, 2249bv64) == 0bv8); + free requires (memory_load8_le(mem, 2250bv64) == 0bv8); + free requires (memory_load8_le(mem, 2251bv64) == 0bv8); + free requires (memory_load8_le(mem, 2252bv64) == 0bv8); + free requires (memory_load8_le(mem, 2253bv64) == 0bv8); + free requires (memory_load8_le(mem, 2254bv64) == 0bv8); + free requires (memory_load8_le(mem, 2255bv64) == 0bv8); + free requires (memory_load8_le(mem, 2256bv64) == 84bv8); + free requires (memory_load8_le(mem, 2257bv64) == 104bv8); + free requires (memory_load8_le(mem, 2258bv64) == 101bv8); + free requires (memory_load8_le(mem, 2259bv64) == 32bv8); + free requires (memory_load8_le(mem, 2260bv64) == 105bv8); + free requires (memory_load8_le(mem, 2261bv64) == 110bv8); + free requires (memory_load8_le(mem, 2262bv64) == 116bv8); + free requires (memory_load8_le(mem, 2263bv64) == 32bv8); + free requires (memory_load8_le(mem, 2264bv64) == 105bv8); + free requires (memory_load8_le(mem, 2265bv64) == 115bv8); + free requires (memory_load8_le(mem, 2266bv64) == 58bv8); + free requires (memory_load8_le(mem, 2267bv64) == 32bv8); + free requires (memory_load8_le(mem, 2268bv64) == 37bv8); + free requires (memory_load8_le(mem, 2269bv64) == 100bv8); + free requires (memory_load8_le(mem, 2270bv64) == 10bv8); + free requires (memory_load8_le(mem, 2271bv64) == 0bv8); + free requires (memory_load8_le(mem, 68992bv64) == 16bv8); + free requires (memory_load8_le(mem, 68993bv64) == 8bv8); + free requires (memory_load8_le(mem, 68994bv64) == 0bv8); + free requires (memory_load8_le(mem, 68995bv64) == 0bv8); + free requires (memory_load8_le(mem, 68996bv64) == 0bv8); + free requires (memory_load8_le(mem, 68997bv64) == 0bv8); + free requires (memory_load8_le(mem, 68998bv64) == 0bv8); + free requires (memory_load8_le(mem, 68999bv64) == 0bv8); + free requires (memory_load8_le(mem, 69000bv64) == 192bv8); + free requires (memory_load8_le(mem, 69001bv64) == 7bv8); + free requires (memory_load8_le(mem, 69002bv64) == 0bv8); + free requires (memory_load8_le(mem, 69003bv64) == 0bv8); + free requires (memory_load8_le(mem, 69004bv64) == 0bv8); + free requires (memory_load8_le(mem, 69005bv64) == 0bv8); + free requires (memory_load8_le(mem, 69006bv64) == 0bv8); + free requires (memory_load8_le(mem, 69007bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 20bv8); + free requires (memory_load8_le(mem, 69617bv64) == 8bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2224bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2225bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2226bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2227bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2228bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2229bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2230bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2231bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2232bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2233bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2234bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2235bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2236bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2237bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2238bv64) == 97bv8); + free ensures (memory_load8_le(mem, 2239bv64) == 114bv8); + free ensures (memory_load8_le(mem, 2240bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2241bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2242bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2243bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2244bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2245bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2246bv64) == 99bv8); + free ensures (memory_load8_le(mem, 2247bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2248bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2249bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2250bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2251bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2252bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2253bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2254bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2255bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2256bv64) == 84bv8); + free ensures (memory_load8_le(mem, 2257bv64) == 104bv8); + free ensures (memory_load8_le(mem, 2258bv64) == 101bv8); + free ensures (memory_load8_le(mem, 2259bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2260bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2261bv64) == 110bv8); + free ensures (memory_load8_le(mem, 2262bv64) == 116bv8); + free ensures (memory_load8_le(mem, 2263bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2264bv64) == 105bv8); + free ensures (memory_load8_le(mem, 2265bv64) == 115bv8); + free ensures (memory_load8_le(mem, 2266bv64) == 58bv8); + free ensures (memory_load8_le(mem, 2267bv64) == 32bv8); + free ensures (memory_load8_le(mem, 2268bv64) == 37bv8); + free ensures (memory_load8_le(mem, 2269bv64) == 100bv8); + free ensures (memory_load8_le(mem, 2270bv64) == 10bv8); + free ensures (memory_load8_le(mem, 2271bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68992bv64) == 16bv8); + free ensures (memory_load8_le(mem, 68993bv64) == 8bv8); + free ensures (memory_load8_le(mem, 68994bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68995bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68996bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68997bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68998bv64) == 0bv8); + free ensures (memory_load8_le(mem, 68999bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69000bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69001bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69002bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69003bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69004bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69005bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69006bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69007bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 20bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); diff --git a/src/test/correct/switch2/clang/switch2.expected b/src/test/correct/switch2/clang/switch2.expected deleted file mode 100644 index fee8453ed..000000000 --- a/src/test/correct/switch2/clang/switch2.expected +++ /dev/null @@ -1,273 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R1: bool; -var Gamma_R10: bool; -var Gamma_R11: bool; -var Gamma_R29: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_R8: bool; -var Gamma_R9: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R1: bv64; -var R10: bv64; -var R11: bv64; -var R29: bv64; -var R30: bv64; -var R31: bv64; -var R8: bv64; -var R9: bv64; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -function L(memory: [bv64]bv8, index: bv64) returns (bool) { - false -} - -function {:bvbuiltin "bvadd"} bvadd32(bv32, bv32) returns (bv32); -function {:bvbuiltin "bvadd"} bvadd33(bv33, bv33) returns (bv33); -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function {:bvbuiltin "bvadd"} bvadd65(bv65, bv65) returns (bv65); -function {:bvbuiltin "bvand"} bvand1(bv1, bv1) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp1(bv1, bv1) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp32(bv32, bv32) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp33(bv33, bv33) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp64(bv64, bv64) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp65(bv65, bv65) returns (bv1); -function {:bvbuiltin "bvnot"} bvnot1(bv1) returns (bv1); -function gamma_load32(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))) -} - -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load32_le(memory: [bv64]bv8, index: bv64) returns (bv32) { - (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))) -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -function {:bvbuiltin "sign_extend 1"} sign_extend1_32(bv32) returns (bv33); -function {:bvbuiltin "sign_extend 1"} sign_extend1_64(bv64) returns (bv65); -function {:bvbuiltin "sign_extend 32"} sign_extend32_32(bv32) returns (bv64); -function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); -function {:bvbuiltin "zero_extend 1"} zero_extend1_64(bv64) returns (bv65); -function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); -procedure rely(); - modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R10, Gamma_R11, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_stack, R10, R11, R29, R30, R31, R8, R9, stack; - requires (Gamma_R0 == true); - free requires (memory_load8_le(mem, 2000bv64) == 1bv8); - free requires (memory_load8_le(mem, 2001bv64) == 0bv8); - free requires (memory_load8_le(mem, 2002bv64) == 2bv8); - free requires (memory_load8_le(mem, 2003bv64) == 0bv8); - free requires (memory_load8_le(mem, 2004bv64) == 28bv8); - free requires (memory_load8_le(mem, 2005bv64) == 0bv8); - free requires (memory_load8_le(mem, 2006bv64) == 0bv8); - free requires (memory_load8_le(mem, 2007bv64) == 0bv8); - free requires (memory_load8_le(mem, 2008bv64) == 40bv8); - free requires (memory_load8_le(mem, 2009bv64) == 0bv8); - free requires (memory_load8_le(mem, 2010bv64) == 0bv8); - free requires (memory_load8_le(mem, 2011bv64) == 0bv8); - free requires (memory_load8_le(mem, 2012bv64) == 16bv8); - free requires (memory_load8_le(mem, 2013bv64) == 0bv8); - free requires (memory_load8_le(mem, 2014bv64) == 0bv8); - free requires (memory_load8_le(mem, 2015bv64) == 0bv8); - free requires (memory_load8_le(mem, 2016bv64) == 52bv8); - free requires (memory_load8_le(mem, 2017bv64) == 0bv8); - free requires (memory_load8_le(mem, 2018bv64) == 0bv8); - free requires (memory_load8_le(mem, 2019bv64) == 0bv8); - free requires (memory_load8_le(mem, 2020bv64) == 64bv8); - free requires (memory_load8_le(mem, 2021bv64) == 0bv8); - free requires (memory_load8_le(mem, 2022bv64) == 0bv8); - free requires (memory_load8_le(mem, 2023bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 28bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 40bv8); - free requires (memory_load8_le(mem, 69673bv64) == 16bv8); - free requires (memory_load8_le(mem, 69674bv64) == 1bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); -{ - var #4: bv64; - var #5: bv32; - var #6: bv64; - var #7: bv64; - var CF: bv1; - var Gamma_#4: bool; - var Gamma_#5: bool; - var Gamma_#6: bool; - var Gamma_#7: bool; - var Gamma_CF: bool; - var Gamma_NF: bool; - var Gamma_VF: bool; - var Gamma_ZF: bool; - var NF: bv1; - var VF: bv1; - var ZF: bv1; - lmain: - R31, Gamma_R31 := bvadd64(R31, 18446744073709551568bv64), Gamma_R31; - #4, Gamma_#4 := bvadd64(R31, 32bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #4, R29), gamma_store64(Gamma_stack, #4, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#4, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#4, 8bv64), Gamma_R30); - R29, Gamma_R29 := bvadd64(R31, 32bv64), Gamma_R31; - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551612bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551612bv64), Gamma_R0); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R1), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R1); - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 12bv64), 0bv32), gamma_store32(Gamma_stack, bvadd64(R31, 12bv64), true); - R8, Gamma_R8 := zero_extend32_32(memory_load32_le(stack, bvadd64(R29, 18446744073709551612bv64))), gamma_load32(Gamma_stack, bvadd64(R29, 18446744073709551612bv64)); - #5, Gamma_#5 := bvadd32(R8[32:0], 4294967294bv32), Gamma_R8; - VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#5, 1bv32)), bvadd33(sign_extend1_32(R8[32:0]), 8589934591bv33))), (Gamma_R8 && Gamma_#5); - CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#5, 1bv32)), bvadd33(zero_extend1_32(R8[32:0]), 4294967295bv33))), (Gamma_R8 && Gamma_#5); - ZF, Gamma_ZF := bvcomp32(bvadd32(#5, 1bv32), 0bv32), Gamma_#5; - NF, Gamma_NF := bvadd32(#5, 1bv32)[32:31], Gamma_#5; - R8, Gamma_R8 := zero_extend32_32(bvadd32(#5, 1bv32)), Gamma_#5; - stack, Gamma_stack := memory_store64_le(stack, R31, R8), gamma_store64(Gamma_stack, R31, Gamma_R8); - #6, Gamma_#6 := bvadd64(R8, 18446744073709551611bv64), Gamma_R8; - VF, Gamma_VF := bvnot1(bvcomp65(sign_extend1_64(bvadd64(#6, 1bv64)), bvadd65(sign_extend1_64(R8), 36893488147419103228bv65))), (Gamma_R8 && Gamma_#6); - CF, Gamma_CF := bvnot1(bvcomp65(zero_extend1_64(bvadd64(#6, 1bv64)), bvadd65(zero_extend1_64(R8), 18446744073709551612bv65))), (Gamma_R8 && Gamma_#6); - ZF, Gamma_ZF := bvcomp64(bvadd64(#6, 1bv64), 0bv64), Gamma_#6; - NF, Gamma_NF := bvadd64(#6, 1bv64)[64:63], Gamma_#6; - R8, Gamma_R8 := bvadd64(#6, 1bv64), Gamma_#6; - assert (Gamma_ZF && Gamma_CF); - if ((bvnot1(bvand1(bvcomp1(CF, 1bv1), bvcomp1(ZF, 0bv1))) != 0bv1)) { - goto l000003dc; - } - goto l000003df; - l000003df: - R8, Gamma_R8 := 1bv64, true; - goto l000003e2; - l000003dc: - R8, Gamma_R8 := 0bv64, true; - goto l000003e2; - l000003e2: - assert Gamma_R8; - if ((bvcomp1(R8[1:0], 1bv1) != 0bv1)) { - goto l000003ea; - } - goto l0000041b; - l000003ea: - R8, Gamma_R8 := 5bv64, true; - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 12bv64), R8[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 12bv64), Gamma_R8); - goto l000003fd; - l000003fd: - #7, Gamma_#7 := bvadd64(R31, 32bv64), Gamma_R31; - R29, Gamma_R29 := memory_load64_le(stack, #7), gamma_load64(Gamma_stack, #7); - R30, Gamma_R30 := memory_load64_le(stack, bvadd64(#7, 8bv64)), gamma_load64(Gamma_stack, bvadd64(#7, 8bv64)); - R31, Gamma_R31 := bvadd64(R31, 48bv64), Gamma_R31; - return; - l0000041b: - R11, Gamma_R11 := memory_load64_le(stack, R31), gamma_load64(Gamma_stack, R31); - R10, Gamma_R10 := 0bv64, true; - R10, Gamma_R10 := bvadd64(R10, 2004bv64), Gamma_R10; - R8, Gamma_R8 := 1880bv64, true; - R9, Gamma_R9 := sign_extend32_32(memory_load32_le(mem, bvadd64(R10, (R11[62:0] ++ 0bv2)))), (gamma_load32(Gamma_mem, bvadd64(R10, (R11[62:0] ++ 0bv2))) || L(mem, bvadd64(R10, (R11[62:0] ++ 0bv2)))); - R8, Gamma_R8 := bvadd64(R8, R9), (Gamma_R9 && Gamma_R8); - //UNRESOLVED: call R8 - assume false; - //no return target - assume false; -} diff --git a/src/test/correct/switch2/clang_O2/switch2.expected b/src/test/correct/switch2/clang_O2/switch2.expected index 8a7a337e7..7e30be622 100644 --- a/src/test/correct/switch2/clang_O2/switch2.expected +++ b/src/test/correct/switch2/clang_O2/switch2.expected @@ -7,9 +7,44 @@ function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1844bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1845bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1846bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1847bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 28bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -27,42 +62,42 @@ procedure guarantee_reflexive(); procedure main() requires (Gamma_R0 == true); + free requires (memory_load8_le(mem, 69664bv64) == 0bv8); + free requires (memory_load8_le(mem, 69665bv64) == 0bv8); + free requires (memory_load8_le(mem, 69666bv64) == 0bv8); + free requires (memory_load8_le(mem, 69667bv64) == 0bv8); + free requires (memory_load8_le(mem, 69668bv64) == 0bv8); + free requires (memory_load8_le(mem, 69669bv64) == 0bv8); + free requires (memory_load8_le(mem, 69670bv64) == 0bv8); + free requires (memory_load8_le(mem, 69671bv64) == 0bv8); + free requires (memory_load8_le(mem, 69672bv64) == 40bv8); + free requires (memory_load8_le(mem, 69673bv64) == 16bv8); + free requires (memory_load8_le(mem, 69674bv64) == 1bv8); + free requires (memory_load8_le(mem, 69675bv64) == 0bv8); + free requires (memory_load8_le(mem, 69676bv64) == 0bv8); + free requires (memory_load8_le(mem, 69677bv64) == 0bv8); + free requires (memory_load8_le(mem, 69678bv64) == 0bv8); + free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free requires (memory_load8_le(mem, 1844bv64) == 1bv8); free requires (memory_load8_le(mem, 1845bv64) == 0bv8); free requires (memory_load8_le(mem, 1846bv64) == 2bv8); free requires (memory_load8_le(mem, 1847bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 16bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 192bv8); + free requires (memory_load8_le(mem, 69073bv64) == 6bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 28bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -71,22 +106,6 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); free requires (memory_load8_le(mem, 69672bv64) == 40bv8); free requires (memory_load8_le(mem, 69673bv64) == 16bv8); free requires (memory_load8_le(mem, 69674bv64) == 1bv8); @@ -95,6 +114,42 @@ procedure main() free requires (memory_load8_le(mem, 69677bv64) == 0bv8); free requires (memory_load8_le(mem, 69678bv64) == 0bv8); free requires (memory_load8_le(mem, 69679bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1844bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1845bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1846bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1847bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 28bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69672bv64) == 40bv8); + free ensures (memory_load8_le(mem, 69673bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69674bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69675bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69676bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69677bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69678bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69679bv64) == 0bv8); { lmain: return; diff --git a/src/test/correct/switch2/clang_no_plt_no_pic/switch2.expected b/src/test/correct/switch2/clang_no_plt_no_pic/switch2.expected deleted file mode 100644 index 691c96d49..000000000 --- a/src/test/correct/switch2/clang_no_plt_no_pic/switch2.expected +++ /dev/null @@ -1,273 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R1: bool; -var Gamma_R10: bool; -var Gamma_R11: bool; -var Gamma_R29: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_R8: bool; -var Gamma_R9: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R1: bv64; -var R10: bv64; -var R11: bv64; -var R29: bv64; -var R30: bv64; -var R31: bv64; -var R8: bv64; -var R9: bv64; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -function L(memory: [bv64]bv8, index: bv64) returns (bool) { - false -} - -function {:bvbuiltin "bvadd"} bvadd32(bv32, bv32) returns (bv32); -function {:bvbuiltin "bvadd"} bvadd33(bv33, bv33) returns (bv33); -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function {:bvbuiltin "bvadd"} bvadd65(bv65, bv65) returns (bv65); -function {:bvbuiltin "bvand"} bvand1(bv1, bv1) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp1(bv1, bv1) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp32(bv32, bv32) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp33(bv33, bv33) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp64(bv64, bv64) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp65(bv65, bv65) returns (bv1); -function {:bvbuiltin "bvnot"} bvnot1(bv1) returns (bv1); -function gamma_load32(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))) -} - -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load32_le(memory: [bv64]bv8, index: bv64) returns (bv32) { - (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))) -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -function {:bvbuiltin "sign_extend 1"} sign_extend1_32(bv32) returns (bv33); -function {:bvbuiltin "sign_extend 1"} sign_extend1_64(bv64) returns (bv65); -function {:bvbuiltin "sign_extend 32"} sign_extend32_32(bv32) returns (bv64); -function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); -function {:bvbuiltin "zero_extend 1"} zero_extend1_64(bv64) returns (bv65); -function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); -procedure rely(); - modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R10, Gamma_R11, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_stack, R10, R11, R29, R30, R31, R8, R9, stack; - requires (Gamma_R0 == true); - free requires (memory_load8_le(mem, 2000bv64) == 1bv8); - free requires (memory_load8_le(mem, 2001bv64) == 0bv8); - free requires (memory_load8_le(mem, 2002bv64) == 2bv8); - free requires (memory_load8_le(mem, 2003bv64) == 0bv8); - free requires (memory_load8_le(mem, 2004bv64) == 28bv8); - free requires (memory_load8_le(mem, 2005bv64) == 0bv8); - free requires (memory_load8_le(mem, 2006bv64) == 0bv8); - free requires (memory_load8_le(mem, 2007bv64) == 0bv8); - free requires (memory_load8_le(mem, 2008bv64) == 40bv8); - free requires (memory_load8_le(mem, 2009bv64) == 0bv8); - free requires (memory_load8_le(mem, 2010bv64) == 0bv8); - free requires (memory_load8_le(mem, 2011bv64) == 0bv8); - free requires (memory_load8_le(mem, 2012bv64) == 16bv8); - free requires (memory_load8_le(mem, 2013bv64) == 0bv8); - free requires (memory_load8_le(mem, 2014bv64) == 0bv8); - free requires (memory_load8_le(mem, 2015bv64) == 0bv8); - free requires (memory_load8_le(mem, 2016bv64) == 52bv8); - free requires (memory_load8_le(mem, 2017bv64) == 0bv8); - free requires (memory_load8_le(mem, 2018bv64) == 0bv8); - free requires (memory_load8_le(mem, 2019bv64) == 0bv8); - free requires (memory_load8_le(mem, 2020bv64) == 64bv8); - free requires (memory_load8_le(mem, 2021bv64) == 0bv8); - free requires (memory_load8_le(mem, 2022bv64) == 0bv8); - free requires (memory_load8_le(mem, 2023bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 28bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 40bv8); - free requires (memory_load8_le(mem, 69673bv64) == 16bv8); - free requires (memory_load8_le(mem, 69674bv64) == 1bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); -{ - var #4: bv64; - var #5: bv32; - var #6: bv64; - var #7: bv64; - var CF: bv1; - var Gamma_#4: bool; - var Gamma_#5: bool; - var Gamma_#6: bool; - var Gamma_#7: bool; - var Gamma_CF: bool; - var Gamma_NF: bool; - var Gamma_VF: bool; - var Gamma_ZF: bool; - var NF: bv1; - var VF: bv1; - var ZF: bv1; - lmain: - R31, Gamma_R31 := bvadd64(R31, 18446744073709551568bv64), Gamma_R31; - #4, Gamma_#4 := bvadd64(R31, 32bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #4, R29), gamma_store64(Gamma_stack, #4, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#4, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#4, 8bv64), Gamma_R30); - R29, Gamma_R29 := bvadd64(R31, 32bv64), Gamma_R31; - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551612bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551612bv64), Gamma_R0); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R1), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R1); - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 12bv64), 0bv32), gamma_store32(Gamma_stack, bvadd64(R31, 12bv64), true); - R8, Gamma_R8 := zero_extend32_32(memory_load32_le(stack, bvadd64(R29, 18446744073709551612bv64))), gamma_load32(Gamma_stack, bvadd64(R29, 18446744073709551612bv64)); - #5, Gamma_#5 := bvadd32(R8[32:0], 4294967294bv32), Gamma_R8; - VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#5, 1bv32)), bvadd33(sign_extend1_32(R8[32:0]), 8589934591bv33))), (Gamma_R8 && Gamma_#5); - CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#5, 1bv32)), bvadd33(zero_extend1_32(R8[32:0]), 4294967295bv33))), (Gamma_R8 && Gamma_#5); - ZF, Gamma_ZF := bvcomp32(bvadd32(#5, 1bv32), 0bv32), Gamma_#5; - NF, Gamma_NF := bvadd32(#5, 1bv32)[32:31], Gamma_#5; - R8, Gamma_R8 := zero_extend32_32(bvadd32(#5, 1bv32)), Gamma_#5; - stack, Gamma_stack := memory_store64_le(stack, R31, R8), gamma_store64(Gamma_stack, R31, Gamma_R8); - #6, Gamma_#6 := bvadd64(R8, 18446744073709551611bv64), Gamma_R8; - VF, Gamma_VF := bvnot1(bvcomp65(sign_extend1_64(bvadd64(#6, 1bv64)), bvadd65(sign_extend1_64(R8), 36893488147419103228bv65))), (Gamma_R8 && Gamma_#6); - CF, Gamma_CF := bvnot1(bvcomp65(zero_extend1_64(bvadd64(#6, 1bv64)), bvadd65(zero_extend1_64(R8), 18446744073709551612bv65))), (Gamma_R8 && Gamma_#6); - ZF, Gamma_ZF := bvcomp64(bvadd64(#6, 1bv64), 0bv64), Gamma_#6; - NF, Gamma_NF := bvadd64(#6, 1bv64)[64:63], Gamma_#6; - R8, Gamma_R8 := bvadd64(#6, 1bv64), Gamma_#6; - assert (Gamma_ZF && Gamma_CF); - if ((bvnot1(bvand1(bvcomp1(CF, 1bv1), bvcomp1(ZF, 0bv1))) != 0bv1)) { - goto l00000b63; - } - goto l00000b66; - l00000b66: - R8, Gamma_R8 := 1bv64, true; - goto l00000b69; - l00000b63: - R8, Gamma_R8 := 0bv64, true; - goto l00000b69; - l00000b69: - assert Gamma_R8; - if ((bvcomp1(R8[1:0], 1bv1) != 0bv1)) { - goto l00000b71; - } - goto l00000ba2; - l00000b71: - R8, Gamma_R8 := 5bv64, true; - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 12bv64), R8[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 12bv64), Gamma_R8); - goto l00000b84; - l00000b84: - #7, Gamma_#7 := bvadd64(R31, 32bv64), Gamma_R31; - R29, Gamma_R29 := memory_load64_le(stack, #7), gamma_load64(Gamma_stack, #7); - R30, Gamma_R30 := memory_load64_le(stack, bvadd64(#7, 8bv64)), gamma_load64(Gamma_stack, bvadd64(#7, 8bv64)); - R31, Gamma_R31 := bvadd64(R31, 48bv64), Gamma_R31; - return; - l00000ba2: - R11, Gamma_R11 := memory_load64_le(stack, R31), gamma_load64(Gamma_stack, R31); - R10, Gamma_R10 := 0bv64, true; - R10, Gamma_R10 := bvadd64(R10, 2004bv64), Gamma_R10; - R8, Gamma_R8 := 1880bv64, true; - R9, Gamma_R9 := sign_extend32_32(memory_load32_le(mem, bvadd64(R10, (R11[62:0] ++ 0bv2)))), (gamma_load32(Gamma_mem, bvadd64(R10, (R11[62:0] ++ 0bv2))) || L(mem, bvadd64(R10, (R11[62:0] ++ 0bv2)))); - R8, Gamma_R8 := bvadd64(R8, R9), (Gamma_R9 && Gamma_R8); - //UNRESOLVED: call R8 - assume false; - //no return target - assume false; -} diff --git a/src/test/correct/switch2/clang_pic/switch2.expected b/src/test/correct/switch2/clang_pic/switch2.expected deleted file mode 100644 index 691c96d49..000000000 --- a/src/test/correct/switch2/clang_pic/switch2.expected +++ /dev/null @@ -1,273 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R1: bool; -var Gamma_R10: bool; -var Gamma_R11: bool; -var Gamma_R29: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_R8: bool; -var Gamma_R9: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R1: bv64; -var R10: bv64; -var R11: bv64; -var R29: bv64; -var R30: bv64; -var R31: bv64; -var R8: bv64; -var R9: bv64; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -function L(memory: [bv64]bv8, index: bv64) returns (bool) { - false -} - -function {:bvbuiltin "bvadd"} bvadd32(bv32, bv32) returns (bv32); -function {:bvbuiltin "bvadd"} bvadd33(bv33, bv33) returns (bv33); -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function {:bvbuiltin "bvadd"} bvadd65(bv65, bv65) returns (bv65); -function {:bvbuiltin "bvand"} bvand1(bv1, bv1) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp1(bv1, bv1) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp32(bv32, bv32) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp33(bv33, bv33) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp64(bv64, bv64) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp65(bv65, bv65) returns (bv1); -function {:bvbuiltin "bvnot"} bvnot1(bv1) returns (bv1); -function gamma_load32(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))) -} - -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load32_le(memory: [bv64]bv8, index: bv64) returns (bv32) { - (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))) -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -function {:bvbuiltin "sign_extend 1"} sign_extend1_32(bv32) returns (bv33); -function {:bvbuiltin "sign_extend 1"} sign_extend1_64(bv64) returns (bv65); -function {:bvbuiltin "sign_extend 32"} sign_extend32_32(bv32) returns (bv64); -function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); -function {:bvbuiltin "zero_extend 1"} zero_extend1_64(bv64) returns (bv65); -function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); -procedure rely(); - modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R10, Gamma_R11, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_stack, R10, R11, R29, R30, R31, R8, R9, stack; - requires (Gamma_R0 == true); - free requires (memory_load8_le(mem, 2000bv64) == 1bv8); - free requires (memory_load8_le(mem, 2001bv64) == 0bv8); - free requires (memory_load8_le(mem, 2002bv64) == 2bv8); - free requires (memory_load8_le(mem, 2003bv64) == 0bv8); - free requires (memory_load8_le(mem, 2004bv64) == 28bv8); - free requires (memory_load8_le(mem, 2005bv64) == 0bv8); - free requires (memory_load8_le(mem, 2006bv64) == 0bv8); - free requires (memory_load8_le(mem, 2007bv64) == 0bv8); - free requires (memory_load8_le(mem, 2008bv64) == 40bv8); - free requires (memory_load8_le(mem, 2009bv64) == 0bv8); - free requires (memory_load8_le(mem, 2010bv64) == 0bv8); - free requires (memory_load8_le(mem, 2011bv64) == 0bv8); - free requires (memory_load8_le(mem, 2012bv64) == 16bv8); - free requires (memory_load8_le(mem, 2013bv64) == 0bv8); - free requires (memory_load8_le(mem, 2014bv64) == 0bv8); - free requires (memory_load8_le(mem, 2015bv64) == 0bv8); - free requires (memory_load8_le(mem, 2016bv64) == 52bv8); - free requires (memory_load8_le(mem, 2017bv64) == 0bv8); - free requires (memory_load8_le(mem, 2018bv64) == 0bv8); - free requires (memory_load8_le(mem, 2019bv64) == 0bv8); - free requires (memory_load8_le(mem, 2020bv64) == 64bv8); - free requires (memory_load8_le(mem, 2021bv64) == 0bv8); - free requires (memory_load8_le(mem, 2022bv64) == 0bv8); - free requires (memory_load8_le(mem, 2023bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 28bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 40bv8); - free requires (memory_load8_le(mem, 69673bv64) == 16bv8); - free requires (memory_load8_le(mem, 69674bv64) == 1bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); -{ - var #4: bv64; - var #5: bv32; - var #6: bv64; - var #7: bv64; - var CF: bv1; - var Gamma_#4: bool; - var Gamma_#5: bool; - var Gamma_#6: bool; - var Gamma_#7: bool; - var Gamma_CF: bool; - var Gamma_NF: bool; - var Gamma_VF: bool; - var Gamma_ZF: bool; - var NF: bv1; - var VF: bv1; - var ZF: bv1; - lmain: - R31, Gamma_R31 := bvadd64(R31, 18446744073709551568bv64), Gamma_R31; - #4, Gamma_#4 := bvadd64(R31, 32bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #4, R29), gamma_store64(Gamma_stack, #4, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#4, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#4, 8bv64), Gamma_R30); - R29, Gamma_R29 := bvadd64(R31, 32bv64), Gamma_R31; - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551612bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551612bv64), Gamma_R0); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R1), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R1); - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 12bv64), 0bv32), gamma_store32(Gamma_stack, bvadd64(R31, 12bv64), true); - R8, Gamma_R8 := zero_extend32_32(memory_load32_le(stack, bvadd64(R29, 18446744073709551612bv64))), gamma_load32(Gamma_stack, bvadd64(R29, 18446744073709551612bv64)); - #5, Gamma_#5 := bvadd32(R8[32:0], 4294967294bv32), Gamma_R8; - VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#5, 1bv32)), bvadd33(sign_extend1_32(R8[32:0]), 8589934591bv33))), (Gamma_R8 && Gamma_#5); - CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#5, 1bv32)), bvadd33(zero_extend1_32(R8[32:0]), 4294967295bv33))), (Gamma_R8 && Gamma_#5); - ZF, Gamma_ZF := bvcomp32(bvadd32(#5, 1bv32), 0bv32), Gamma_#5; - NF, Gamma_NF := bvadd32(#5, 1bv32)[32:31], Gamma_#5; - R8, Gamma_R8 := zero_extend32_32(bvadd32(#5, 1bv32)), Gamma_#5; - stack, Gamma_stack := memory_store64_le(stack, R31, R8), gamma_store64(Gamma_stack, R31, Gamma_R8); - #6, Gamma_#6 := bvadd64(R8, 18446744073709551611bv64), Gamma_R8; - VF, Gamma_VF := bvnot1(bvcomp65(sign_extend1_64(bvadd64(#6, 1bv64)), bvadd65(sign_extend1_64(R8), 36893488147419103228bv65))), (Gamma_R8 && Gamma_#6); - CF, Gamma_CF := bvnot1(bvcomp65(zero_extend1_64(bvadd64(#6, 1bv64)), bvadd65(zero_extend1_64(R8), 18446744073709551612bv65))), (Gamma_R8 && Gamma_#6); - ZF, Gamma_ZF := bvcomp64(bvadd64(#6, 1bv64), 0bv64), Gamma_#6; - NF, Gamma_NF := bvadd64(#6, 1bv64)[64:63], Gamma_#6; - R8, Gamma_R8 := bvadd64(#6, 1bv64), Gamma_#6; - assert (Gamma_ZF && Gamma_CF); - if ((bvnot1(bvand1(bvcomp1(CF, 1bv1), bvcomp1(ZF, 0bv1))) != 0bv1)) { - goto l00000b63; - } - goto l00000b66; - l00000b66: - R8, Gamma_R8 := 1bv64, true; - goto l00000b69; - l00000b63: - R8, Gamma_R8 := 0bv64, true; - goto l00000b69; - l00000b69: - assert Gamma_R8; - if ((bvcomp1(R8[1:0], 1bv1) != 0bv1)) { - goto l00000b71; - } - goto l00000ba2; - l00000b71: - R8, Gamma_R8 := 5bv64, true; - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 12bv64), R8[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 12bv64), Gamma_R8); - goto l00000b84; - l00000b84: - #7, Gamma_#7 := bvadd64(R31, 32bv64), Gamma_R31; - R29, Gamma_R29 := memory_load64_le(stack, #7), gamma_load64(Gamma_stack, #7); - R30, Gamma_R30 := memory_load64_le(stack, bvadd64(#7, 8bv64)), gamma_load64(Gamma_stack, bvadd64(#7, 8bv64)); - R31, Gamma_R31 := bvadd64(R31, 48bv64), Gamma_R31; - return; - l00000ba2: - R11, Gamma_R11 := memory_load64_le(stack, R31), gamma_load64(Gamma_stack, R31); - R10, Gamma_R10 := 0bv64, true; - R10, Gamma_R10 := bvadd64(R10, 2004bv64), Gamma_R10; - R8, Gamma_R8 := 1880bv64, true; - R9, Gamma_R9 := sign_extend32_32(memory_load32_le(mem, bvadd64(R10, (R11[62:0] ++ 0bv2)))), (gamma_load32(Gamma_mem, bvadd64(R10, (R11[62:0] ++ 0bv2))) || L(mem, bvadd64(R10, (R11[62:0] ++ 0bv2)))); - R8, Gamma_R8 := bvadd64(R8, R9), (Gamma_R9 && Gamma_R8); - //UNRESOLVED: call R8 - assume false; - //no return target - assume false; -} diff --git a/src/test/correct/switch2/gcc/switch2.expected b/src/test/correct/switch2/gcc/switch2.expected index 41f58a092..4c95136b3 100644 --- a/src/test/correct/switch2/gcc/switch2.expected +++ b/src/test/correct/switch2/gcc/switch2.expected @@ -61,9 +61,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2032bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2033bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2034bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2035bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 28bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -82,98 +117,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R29, R30, R31, stack; requires (Gamma_R0 == true); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 2032bv64) == 1bv8); free requires (memory_load8_le(mem, 2033bv64) == 0bv8); free requires (memory_load8_le(mem, 2034bv64) == 2bv8); free requires (memory_load8_le(mem, 2035bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 28bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -182,22 +161,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -210,6 +173,42 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2032bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2033bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2034bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2035bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 28bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #10: bv32; var #11: bv32; @@ -379,6 +378,78 @@ procedure main() procedure r() modifies Gamma_R0, R0; + free requires (memory_load8_le(mem, 2032bv64) == 1bv8); + free requires (memory_load8_le(mem, 2033bv64) == 0bv8); + free requires (memory_load8_le(mem, 2034bv64) == 2bv8); + free requires (memory_load8_le(mem, 2035bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 28bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2032bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2033bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2034bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2035bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 28bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lr: R0, Gamma_R0 := 1bv64, true; diff --git a/src/test/correct/switch2/gcc_O2/switch2.expected b/src/test/correct/switch2/gcc_O2/switch2.expected index 396bdcd99..a29d3c8a6 100644 --- a/src/test/correct/switch2/gcc_O2/switch2.expected +++ b/src/test/correct/switch2/gcc_O2/switch2.expected @@ -7,9 +7,44 @@ function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1916bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1917bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1918bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1919bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -27,98 +62,42 @@ procedure guarantee_reflexive(); procedure main() requires (Gamma_R0 == true); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1916bv64) == 1bv8); free requires (memory_load8_le(mem, 1917bv64) == 0bv8); free requires (memory_load8_le(mem, 1918bv64) == 2bv8); free requires (memory_load8_le(mem, 1919bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 80bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 0bv8); + free requires (memory_load8_le(mem, 69025bv64) == 7bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 0bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -127,22 +106,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -151,6 +114,42 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1916bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1917bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1918bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1919bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lmain: return; diff --git a/src/test/correct/switch2/gcc_no_plt_no_pic/switch2.expected b/src/test/correct/switch2/gcc_no_plt_no_pic/switch2.expected index 4b5d24028..0393d96a7 100644 --- a/src/test/correct/switch2/gcc_no_plt_no_pic/switch2.expected +++ b/src/test/correct/switch2/gcc_no_plt_no_pic/switch2.expected @@ -61,9 +61,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2032bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2033bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2034bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2035bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 28bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -82,98 +117,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R29, R30, R31, stack; requires (Gamma_R0 == true); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 2032bv64) == 1bv8); free requires (memory_load8_le(mem, 2033bv64) == 0bv8); free requires (memory_load8_le(mem, 2034bv64) == 2bv8); free requires (memory_load8_le(mem, 2035bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 28bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -182,22 +161,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -210,6 +173,42 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2032bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2033bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2034bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2035bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 28bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #10: bv32; var #11: bv32; @@ -379,6 +378,78 @@ procedure main() procedure r() modifies Gamma_R0, R0; + free requires (memory_load8_le(mem, 2032bv64) == 1bv8); + free requires (memory_load8_le(mem, 2033bv64) == 0bv8); + free requires (memory_load8_le(mem, 2034bv64) == 2bv8); + free requires (memory_load8_le(mem, 2035bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 28bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2032bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2033bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2034bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2035bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 28bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lr: R0, Gamma_R0 := 1bv64, true; diff --git a/src/test/correct/switch2/gcc_pic/switch2.expected b/src/test/correct/switch2/gcc_pic/switch2.expected index 4b5d24028..0393d96a7 100644 --- a/src/test/correct/switch2/gcc_pic/switch2.expected +++ b/src/test/correct/switch2/gcc_pic/switch2.expected @@ -61,9 +61,44 @@ function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 2032bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2033bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2034bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2035bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 28bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -82,98 +117,42 @@ procedure guarantee_reflexive(); procedure main() modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R29, R30, R31, stack; requires (Gamma_R0 == true); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 2032bv64) == 1bv8); free requires (memory_load8_le(mem, 2033bv64) == 0bv8); free requires (memory_load8_le(mem, 2034bv64) == 2bv8); free requires (memory_load8_le(mem, 2035bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 28bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -182,22 +161,6 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -210,6 +173,42 @@ procedure main() free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 2032bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2033bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2034bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2035bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 28bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #10: bv32; var #11: bv32; @@ -379,6 +378,78 @@ procedure main() procedure r() modifies Gamma_R0, R0; + free requires (memory_load8_le(mem, 2032bv64) == 1bv8); + free requires (memory_load8_le(mem, 2033bv64) == 0bv8); + free requires (memory_load8_le(mem, 2034bv64) == 2bv8); + free requires (memory_load8_le(mem, 2035bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 16bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69024bv64) == 192bv8); + free requires (memory_load8_le(mem, 69025bv64) == 6bv8); + free requires (memory_load8_le(mem, 69026bv64) == 0bv8); + free requires (memory_load8_le(mem, 69027bv64) == 0bv8); + free requires (memory_load8_le(mem, 69028bv64) == 0bv8); + free requires (memory_load8_le(mem, 69029bv64) == 0bv8); + free requires (memory_load8_le(mem, 69030bv64) == 0bv8); + free requires (memory_load8_le(mem, 69031bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 28bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2032bv64) == 1bv8); + free ensures (memory_load8_le(mem, 2033bv64) == 0bv8); + free ensures (memory_load8_le(mem, 2034bv64) == 2bv8); + free ensures (memory_load8_le(mem, 2035bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69024bv64) == 192bv8); + free ensures (memory_load8_le(mem, 69025bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69026bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69027bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69028bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69029bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69030bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69031bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 28bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { lr: R0, Gamma_R0 := 1bv64, true; diff --git a/src/test/correct/syscall/clang/syscall.expected b/src/test/correct/syscall/clang/syscall.expected index 1a8c518d9..d7a2894e6 100644 --- a/src/test/correct/syscall/clang/syscall.expected +++ b/src/test/correct/syscall/clang/syscall.expected @@ -58,9 +58,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1944bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1945bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1946bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1947bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -78,45 +113,26 @@ procedure guarantee_reflexive(); procedure fork(); modifies Gamma_R16, Gamma_R17, R16, R17; - -procedure main() - modifies Gamma_R0, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R16, R17, R29, R30, R31, stack; free requires (memory_load8_le(mem, 1944bv64) == 1bv8); free requires (memory_load8_le(mem, 1945bv64) == 0bv8); free requires (memory_load8_le(mem, 1946bv64) == 2bv8); free requires (memory_load8_le(mem, 1947bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 84bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -125,14 +141,53 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1944bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1945bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1946bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1947bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R16, R17, R29, R30, R31, stack; free requires (memory_load8_le(mem, 69672bv64) == 0bv8); free requires (memory_load8_le(mem, 69673bv64) == 0bv8); free requires (memory_load8_le(mem, 69674bv64) == 0bv8); @@ -149,10 +204,82 @@ procedure main() free requires (memory_load8_le(mem, 69685bv64) == 0bv8); free requires (memory_load8_le(mem, 69686bv64) == 0bv8); free requires (memory_load8_le(mem, 69687bv64) == 0bv8); + free requires (memory_load8_le(mem, 1944bv64) == 1bv8); + free requires (memory_load8_le(mem, 1945bv64) == 0bv8); + free requires (memory_load8_le(mem, 1946bv64) == 2bv8); + free requires (memory_load8_le(mem, 1947bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 84bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1944bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1945bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1946bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1947bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); { var #4: bv64; var #5: bv64; diff --git a/src/test/correct/syscall/clang_O2/syscall.expected b/src/test/correct/syscall/clang_O2/syscall.expected deleted file mode 100644 index 2ca547a79..000000000 --- a/src/test/correct/syscall/clang_O2/syscall.expected +++ /dev/null @@ -1,182 +0,0 @@ -var Gamma_R16: bool; -var Gamma_R17: bool; -var Gamma_mem: [bv64]bool; -var R16: bv64; -var R17: bv64; -var mem: [bv64]bv8; -const $_IO_stdin_used_addr: bv64; -axiom ($_IO_stdin_used_addr == 1900bv64); -function L(memory: [bv64]bv8, index: bv64) returns (bool) { - false -} - -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -procedure rely(); - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - free ensures (memory_load8_le(mem, 1900bv64) == 1bv8); - free ensures (memory_load8_le(mem, 1901bv64) == 0bv8); - free ensures (memory_load8_le(mem, 1902bv64) == 2bv8); - free ensures (memory_load8_le(mem, 1903bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); - free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); - free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); - free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); - free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); - free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R16, Gamma_R17, R16, R17; - free requires (memory_load8_le(mem, 69672bv64) == 0bv8); - free requires (memory_load8_le(mem, 69673bv64) == 0bv8); - free requires (memory_load8_le(mem, 69674bv64) == 0bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free requires (memory_load8_le(mem, 69680bv64) == 48bv8); - free requires (memory_load8_le(mem, 69681bv64) == 16bv8); - free requires (memory_load8_le(mem, 69682bv64) == 1bv8); - free requires (memory_load8_le(mem, 69683bv64) == 0bv8); - free requires (memory_load8_le(mem, 69684bv64) == 0bv8); - free requires (memory_load8_le(mem, 69685bv64) == 0bv8); - free requires (memory_load8_le(mem, 69686bv64) == 0bv8); - free requires (memory_load8_le(mem, 69687bv64) == 0bv8); - free requires (memory_load8_le(mem, 1900bv64) == 1bv8); - free requires (memory_load8_le(mem, 1901bv64) == 0bv8); - free requires (memory_load8_le(mem, 1902bv64) == 2bv8); - free requires (memory_load8_le(mem, 1903bv64) == 0bv8); - free requires (memory_load8_le(mem, 69064bv64) == 80bv8); - free requires (memory_load8_le(mem, 69065bv64) == 7bv8); - free requires (memory_load8_le(mem, 69066bv64) == 0bv8); - free requires (memory_load8_le(mem, 69067bv64) == 0bv8); - free requires (memory_load8_le(mem, 69068bv64) == 0bv8); - free requires (memory_load8_le(mem, 69069bv64) == 0bv8); - free requires (memory_load8_le(mem, 69070bv64) == 0bv8); - free requires (memory_load8_le(mem, 69071bv64) == 0bv8); - free requires (memory_load8_le(mem, 69072bv64) == 0bv8); - free requires (memory_load8_le(mem, 69073bv64) == 7bv8); - free requires (memory_load8_le(mem, 69074bv64) == 0bv8); - free requires (memory_load8_le(mem, 69075bv64) == 0bv8); - free requires (memory_load8_le(mem, 69076bv64) == 0bv8); - free requires (memory_load8_le(mem, 69077bv64) == 0bv8); - free requires (memory_load8_le(mem, 69078bv64) == 0bv8); - free requires (memory_load8_le(mem, 69079bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 84bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69680bv64) == 48bv8); - free requires (memory_load8_le(mem, 69681bv64) == 16bv8); - free requires (memory_load8_le(mem, 69682bv64) == 1bv8); - free requires (memory_load8_le(mem, 69683bv64) == 0bv8); - free requires (memory_load8_le(mem, 69684bv64) == 0bv8); - free requires (memory_load8_le(mem, 69685bv64) == 0bv8); - free requires (memory_load8_le(mem, 69686bv64) == 0bv8); - free requires (memory_load8_le(mem, 69687bv64) == 0bv8); - free ensures (memory_load8_le(mem, 1900bv64) == 1bv8); - free ensures (memory_load8_le(mem, 1901bv64) == 0bv8); - free ensures (memory_load8_le(mem, 1902bv64) == 2bv8); - free ensures (memory_load8_le(mem, 1903bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); - free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); - free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); - free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); - free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); - free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); - free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); - free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); -{ - lmain: - goto lfork; - lfork: - R16, Gamma_R16 := 69632bv64, true; - R17, Gamma_R17 := memory_load64_le(mem, bvadd64(R16, 16bv64)), (gamma_load64(Gamma_mem, bvadd64(R16, 16bv64)) || L(mem, bvadd64(R16, 16bv64))); - R16, Gamma_R16 := bvadd64(R16, 16bv64), Gamma_R16; - //UNRESOLVED: call R17 - assume false; - //no return target - assume false; -} diff --git a/src/test/correct/syscall/clang_no_plt_no_pic/syscall.expected b/src/test/correct/syscall/clang_no_plt_no_pic/syscall.expected index 64d1e7fd5..6ff04a1f2 100644 --- a/src/test/correct/syscall/clang_no_plt_no_pic/syscall.expected +++ b/src/test/correct/syscall/clang_no_plt_no_pic/syscall.expected @@ -58,9 +58,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1944bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1945bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1946bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1947bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -78,45 +113,26 @@ procedure guarantee_reflexive(); procedure fork(); modifies Gamma_R16, Gamma_R17, R16, R17; - -procedure main() - modifies Gamma_R0, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R16, R17, R29, R30, R31, stack; free requires (memory_load8_le(mem, 1944bv64) == 1bv8); free requires (memory_load8_le(mem, 1945bv64) == 0bv8); free requires (memory_load8_le(mem, 1946bv64) == 2bv8); free requires (memory_load8_le(mem, 1947bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 84bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -125,14 +141,53 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1944bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1945bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1946bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1947bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R16, R17, R29, R30, R31, stack; free requires (memory_load8_le(mem, 69672bv64) == 0bv8); free requires (memory_load8_le(mem, 69673bv64) == 0bv8); free requires (memory_load8_le(mem, 69674bv64) == 0bv8); @@ -149,10 +204,82 @@ procedure main() free requires (memory_load8_le(mem, 69685bv64) == 0bv8); free requires (memory_load8_le(mem, 69686bv64) == 0bv8); free requires (memory_load8_le(mem, 69687bv64) == 0bv8); + free requires (memory_load8_le(mem, 1944bv64) == 1bv8); + free requires (memory_load8_le(mem, 1945bv64) == 0bv8); + free requires (memory_load8_le(mem, 1946bv64) == 2bv8); + free requires (memory_load8_le(mem, 1947bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 84bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1944bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1945bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1946bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1947bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); { var #4: bv64; var #5: bv64; diff --git a/src/test/correct/syscall/clang_pic/syscall.expected b/src/test/correct/syscall/clang_pic/syscall.expected index 64d1e7fd5..6ff04a1f2 100644 --- a/src/test/correct/syscall/clang_pic/syscall.expected +++ b/src/test/correct/syscall/clang_pic/syscall.expected @@ -58,9 +58,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1944bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1945bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1946bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1947bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -78,45 +113,26 @@ procedure guarantee_reflexive(); procedure fork(); modifies Gamma_R16, Gamma_R17, R16, R17; - -procedure main() - modifies Gamma_R0, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R16, R17, R29, R30, R31, stack; free requires (memory_load8_le(mem, 1944bv64) == 1bv8); free requires (memory_load8_le(mem, 1945bv64) == 0bv8); free requires (memory_load8_le(mem, 1946bv64) == 2bv8); free requires (memory_load8_le(mem, 1947bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); free requires (memory_load8_le(mem, 69592bv64) == 84bv8); free requires (memory_load8_le(mem, 69593bv64) == 7bv8); free requires (memory_load8_le(mem, 69594bv64) == 0bv8); @@ -125,14 +141,53 @@ procedure main() free requires (memory_load8_le(mem, 69597bv64) == 0bv8); free requires (memory_load8_le(mem, 69598bv64) == 0bv8); free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1944bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1945bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1946bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1947bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R16, R17, R29, R30, R31, stack; free requires (memory_load8_le(mem, 69672bv64) == 0bv8); free requires (memory_load8_le(mem, 69673bv64) == 0bv8); free requires (memory_load8_le(mem, 69674bv64) == 0bv8); @@ -149,10 +204,82 @@ procedure main() free requires (memory_load8_le(mem, 69685bv64) == 0bv8); free requires (memory_load8_le(mem, 69686bv64) == 0bv8); free requires (memory_load8_le(mem, 69687bv64) == 0bv8); + free requires (memory_load8_le(mem, 1944bv64) == 1bv8); + free requires (memory_load8_le(mem, 1945bv64) == 0bv8); + free requires (memory_load8_le(mem, 1946bv64) == 2bv8); + free requires (memory_load8_le(mem, 1947bv64) == 0bv8); + free requires (memory_load8_le(mem, 69064bv64) == 80bv8); + free requires (memory_load8_le(mem, 69065bv64) == 7bv8); + free requires (memory_load8_le(mem, 69066bv64) == 0bv8); + free requires (memory_load8_le(mem, 69067bv64) == 0bv8); + free requires (memory_load8_le(mem, 69068bv64) == 0bv8); + free requires (memory_load8_le(mem, 69069bv64) == 0bv8); + free requires (memory_load8_le(mem, 69070bv64) == 0bv8); + free requires (memory_load8_le(mem, 69071bv64) == 0bv8); + free requires (memory_load8_le(mem, 69072bv64) == 0bv8); + free requires (memory_load8_le(mem, 69073bv64) == 7bv8); + free requires (memory_load8_le(mem, 69074bv64) == 0bv8); + free requires (memory_load8_le(mem, 69075bv64) == 0bv8); + free requires (memory_load8_le(mem, 69076bv64) == 0bv8); + free requires (memory_load8_le(mem, 69077bv64) == 0bv8); + free requires (memory_load8_le(mem, 69078bv64) == 0bv8); + free requires (memory_load8_le(mem, 69079bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 84bv8); + free requires (memory_load8_le(mem, 69593bv64) == 7bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69680bv64) == 48bv8); + free requires (memory_load8_le(mem, 69681bv64) == 16bv8); + free requires (memory_load8_le(mem, 69682bv64) == 1bv8); + free requires (memory_load8_le(mem, 69683bv64) == 0bv8); + free requires (memory_load8_le(mem, 69684bv64) == 0bv8); + free requires (memory_load8_le(mem, 69685bv64) == 0bv8); + free requires (memory_load8_le(mem, 69686bv64) == 0bv8); + free requires (memory_load8_le(mem, 69687bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1944bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1945bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1946bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1947bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69064bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69065bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69066bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69067bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69068bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69069bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69070bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69071bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69072bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69073bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69074bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69075bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69076bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69077bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69078bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69079bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69592bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69593bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69594bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69595bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69596bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69597bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69598bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69599bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69680bv64) == 48bv8); + free ensures (memory_load8_le(mem, 69681bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69682bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69683bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69684bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69685bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69686bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69687bv64) == 0bv8); { var #4: bv64; var #5: bv64; diff --git a/src/test/correct/syscall/gcc/syscall.expected b/src/test/correct/syscall/gcc/syscall.expected index 4307d62e1..a079a7576 100644 --- a/src/test/correct/syscall/gcc/syscall.expected +++ b/src/test/correct/syscall/gcc/syscall.expected @@ -58,9 +58,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1932bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1933bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1934bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1935bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -78,109 +113,26 @@ procedure guarantee_reflexive(); procedure fork(); modifies Gamma_R16, Gamma_R17, R16, R17; - -procedure main() - modifies Gamma_R0, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R16, R17, R29, R30, R31, stack; free requires (memory_load8_le(mem, 1932bv64) == 1bv8); free requires (memory_load8_le(mem, 1933bv64) == 0bv8); free requires (memory_load8_le(mem, 1934bv64) == 2bv8); free requires (memory_load8_le(mem, 1935bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 208bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 208bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 208bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 208bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 160bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 80bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 0bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 84bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -189,14 +141,53 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1932bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1933bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1934bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1935bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R16, R17, R29, R30, R31, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -213,10 +204,82 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 1932bv64) == 1bv8); + free requires (memory_load8_le(mem, 1933bv64) == 0bv8); + free requires (memory_load8_le(mem, 1934bv64) == 2bv8); + free requires (memory_load8_le(mem, 1935bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 80bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 0bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 84bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1932bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1933bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1934bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1935bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; diff --git a/src/test/correct/syscall/gcc_O2/syscall.expected b/src/test/correct/syscall/gcc_O2/syscall.expected index 09a469b75..6b27b1913 100644 --- a/src/test/correct/syscall/gcc_O2/syscall.expected +++ b/src/test/correct/syscall/gcc_O2/syscall.expected @@ -12,9 +12,44 @@ function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1960bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1961bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1962bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1963bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 144bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -32,106 +67,42 @@ procedure guarantee_reflexive(); procedure fork(); modifies Gamma_R16, Gamma_R17, R16, R17; + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free requires (memory_load8_le(mem, 1960bv64) == 1bv8); free requires (memory_load8_le(mem, 1961bv64) == 0bv8); free requires (memory_load8_le(mem, 1962bv64) == 2bv8); free requires (memory_load8_le(mem, 1963bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 208bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 208bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 208bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 208bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 160bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 144bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 64bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 64bv8); free requires (memory_load8_le(mem, 69617bv64) == 6bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -140,22 +111,6 @@ procedure fork(); free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); free requires (memory_load8_le(mem, 69640bv64) == 8bv8); free requires (memory_load8_le(mem, 69641bv64) == 16bv8); free requires (memory_load8_le(mem, 69642bv64) == 1bv8); @@ -164,3 +119,39 @@ procedure fork(); free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1960bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1961bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1962bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1963bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 144bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 64bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 6bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); diff --git a/src/test/correct/syscall/gcc_no_plt_no_pic/syscall.expected b/src/test/correct/syscall/gcc_no_plt_no_pic/syscall.expected index de69bd13e..17ef61865 100644 --- a/src/test/correct/syscall/gcc_no_plt_no_pic/syscall.expected +++ b/src/test/correct/syscall/gcc_no_plt_no_pic/syscall.expected @@ -58,9 +58,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1932bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1933bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1934bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1935bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -78,109 +113,26 @@ procedure guarantee_reflexive(); procedure fork(); modifies Gamma_R16, Gamma_R17, R16, R17; - -procedure main() - modifies Gamma_R0, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R16, R17, R29, R30, R31, stack; free requires (memory_load8_le(mem, 1932bv64) == 1bv8); free requires (memory_load8_le(mem, 1933bv64) == 0bv8); free requires (memory_load8_le(mem, 1934bv64) == 2bv8); free requires (memory_load8_le(mem, 1935bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 208bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 208bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 208bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 208bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 160bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 80bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 0bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 84bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -189,14 +141,53 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1932bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1933bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1934bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1935bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R16, R17, R29, R30, R31, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -213,10 +204,82 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 1932bv64) == 1bv8); + free requires (memory_load8_le(mem, 1933bv64) == 0bv8); + free requires (memory_load8_le(mem, 1934bv64) == 2bv8); + free requires (memory_load8_le(mem, 1935bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 80bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 0bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 84bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1932bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1933bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1934bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1935bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool; diff --git a/src/test/correct/syscall/gcc_pic/syscall.expected b/src/test/correct/syscall/gcc_pic/syscall.expected index de69bd13e..17ef61865 100644 --- a/src/test/correct/syscall/gcc_pic/syscall.expected +++ b/src/test/correct/syscall/gcc_pic/syscall.expected @@ -58,9 +58,44 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); ensures (mem == old(mem)); ensures (Gamma_mem == old(Gamma_mem)); + free ensures (memory_load8_le(mem, 1932bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1933bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1934bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1935bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); procedure rely_transitive() modifies mem, Gamma_mem; @@ -78,109 +113,26 @@ procedure guarantee_reflexive(); procedure fork(); modifies Gamma_R16, Gamma_R17, R16, R17; - -procedure main() - modifies Gamma_R0, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R16, R17, R29, R30, R31, stack; free requires (memory_load8_le(mem, 1932bv64) == 1bv8); free requires (memory_load8_le(mem, 1933bv64) == 0bv8); free requires (memory_load8_le(mem, 1934bv64) == 2bv8); free requires (memory_load8_le(mem, 1935bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 208bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 208bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 208bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 208bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 160bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 80bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 0bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); free requires (memory_load8_le(mem, 69616bv64) == 84bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); @@ -189,14 +141,53 @@ procedure main() free requires (memory_load8_le(mem, 69621bv64) == 0bv8); free requires (memory_load8_le(mem, 69622bv64) == 0bv8); free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1932bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1933bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1934bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1935bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); + +procedure main() + modifies Gamma_R0, Gamma_R16, Gamma_R17, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R16, R17, R29, R30, R31, stack; free requires (memory_load8_le(mem, 69632bv64) == 0bv8); free requires (memory_load8_le(mem, 69633bv64) == 0bv8); free requires (memory_load8_le(mem, 69634bv64) == 0bv8); @@ -213,10 +204,82 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 1932bv64) == 1bv8); + free requires (memory_load8_le(mem, 1933bv64) == 0bv8); + free requires (memory_load8_le(mem, 1934bv64) == 2bv8); + free requires (memory_load8_le(mem, 1935bv64) == 0bv8); + free requires (memory_load8_le(mem, 69008bv64) == 80bv8); + free requires (memory_load8_le(mem, 69009bv64) == 7bv8); + free requires (memory_load8_le(mem, 69010bv64) == 0bv8); + free requires (memory_load8_le(mem, 69011bv64) == 0bv8); + free requires (memory_load8_le(mem, 69012bv64) == 0bv8); + free requires (memory_load8_le(mem, 69013bv64) == 0bv8); + free requires (memory_load8_le(mem, 69014bv64) == 0bv8); + free requires (memory_load8_le(mem, 69015bv64) == 0bv8); + free requires (memory_load8_le(mem, 69016bv64) == 0bv8); + free requires (memory_load8_le(mem, 69017bv64) == 7bv8); + free requires (memory_load8_le(mem, 69018bv64) == 0bv8); + free requires (memory_load8_le(mem, 69019bv64) == 0bv8); + free requires (memory_load8_le(mem, 69020bv64) == 0bv8); + free requires (memory_load8_le(mem, 69021bv64) == 0bv8); + free requires (memory_load8_le(mem, 69022bv64) == 0bv8); + free requires (memory_load8_le(mem, 69023bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 84bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); + free ensures (memory_load8_le(mem, 1932bv64) == 1bv8); + free ensures (memory_load8_le(mem, 1933bv64) == 0bv8); + free ensures (memory_load8_le(mem, 1934bv64) == 2bv8); + free ensures (memory_load8_le(mem, 1935bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69008bv64) == 80bv8); + free ensures (memory_load8_le(mem, 69009bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69010bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69011bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69012bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69013bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69014bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69015bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69016bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69017bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69018bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69019bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69020bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69021bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69022bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69023bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69616bv64) == 84bv8); + free ensures (memory_load8_le(mem, 69617bv64) == 7bv8); + free ensures (memory_load8_le(mem, 69618bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69619bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69620bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69621bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69622bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69623bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69640bv64) == 8bv8); + free ensures (memory_load8_le(mem, 69641bv64) == 16bv8); + free ensures (memory_load8_le(mem, 69642bv64) == 1bv8); + free ensures (memory_load8_le(mem, 69643bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69644bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69645bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69646bv64) == 0bv8); + free ensures (memory_load8_le(mem, 69647bv64) == 0bv8); { var #4: bv64; var Gamma_#4: bool;